🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

817閲覧

xcodeでのエラーメッセージについて

kouki-1

総合スコア0

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2021/03/23 02:23

編集2021/03/23 03:21

現在、タイマーを実装し、指定の時間に画面推移をさせるという機能を作っているのですが、このようなエラーが表示され、困っています。
先月始めたばかりで、ネットの記事等を試してみましたが、解決には至らなかったので質問させていただきます。
どなたか分かる方がいらっしゃいましたら、対処法など教えていただけたら幸いです。

###エラーメッセージ

Expected '(' in argument list of function declaration Expected '{' in body of function declaration Expected declaration Invalid redeclaration of 'ProgressView()'

###エラー箇所

func ProgressView;.progress = 1.0

###エラーメッセージ

import UIKit import ObjectiveC class QuizViewController: UIViewController { @IBOutlet weak var quizNumberLabel: UILabel! @IBOutlet weak var quizTextView: UITextView! @IBOutlet weak var answerButton1: UIButton! @IBOutlet weak var answerButton2: UIButton! @IBOutlet weak var answerButton3: UIButton! @IBOutlet weak var answerButton4: UIButton! @IBOutlet weak var judgelmageView: UIImageView! @IBOutlet var timerlabel: UILabel! @IBOutlet var ProgressView: UIProgressView! var csvArray: [String] = [] var quizArray: [String] = [] var quizCount = 0 var corrctCount = 0 var selectLebel = 0 var remainingTime = 5 var quizTimer: Timer? override func viewDidLoad() { super.viewDidLoad() answerButton1.layer.cornerRadius = 15 answerButton2.layer.cornerRadius = 15 answerButton3.layer.cornerRadius = 15 answerButton4.layer.cornerRadius = 15 print("選択したのはレベル(selectLebel)") csvArray = loadCSV(fileName: "quiz(selectLebel)") csvArray.shuffle() print(csvArray) quizArray = csvArray[quizCount].components(separatedBy: ",") quizNumberLabel.text = "第(quizCount + 1)問" quizTextView.text = quizArray[0] answerButton1.setTitle(quizArray[2], for: .normal) answerButton2.setTitle(quizArray[3], for: .normal) answerButton3.setTitle(quizArray[4], for: .normal) answerButton4.setTitle(quizArray[5], for: .normal) } // Do any additional setup after loading the view. var remainingTime1 = 10 func ProgressView;.progress = 1.0 timerlabel.text = "10" quizTimer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timeF), userInfo: nil, repeats: true) @objc func timeF() { remainingTime1 -= 1 ProgressView.progress = Float(remainingTime) / 15 timerlabel.text = String(remainingTime) if remainingTime == 0 { quizTimer!.invalidate() quizCount += 1 } } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { let scoreVC = segue.destination as! ScoreViewController scoreVC.correct = corrctCount } @IBAction func btnAction(senderr: UIButton) { quizTimer!.invalidate() if senderr.tag == Int(quizArray[1]){ print("正解") corrctCount += 1 judgelmageView.image = UIImage(named: "correct") } else { print("不正解") judgelmageView.image = UIImage(named: "incorrect") } print("スコア:(corrctCount)") judgelmageView.isHidden = false answerButton1.isEnabled = false answerButton2.isEnabled = false answerButton3.isEnabled = false answerButton4.isEnabled = false DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { self.judgelmageView.isHidden = true self.answerButton1.isEnabled = true self.answerButton2.isEnabled = true self.answerButton3.isEnabled = true self.answerButton4.isEnabled = true self.nextQuiz() self.quizTimer!.invalidate() } } func nextQuiz() { quizCount += 1 if quizCount < csvArray.count{ quizArray = csvArray[quizCount].components(separatedBy: ",") quizNumberLabel.text = "第(quizCount + 1)問" quizTextView.text = quizArray[0] answerButton1.setTitle(quizArray[2], for: .normal) answerButton2.setTitle(quizArray[3], for: .normal) answerButton3.setTitle(quizArray[4], for: .normal) answerButton4.setTitle(quizArray[5], for: .normal) } else { performSegue(withIdentifier: "toScoreVC", sender: nil) } } func loadCSV(fileName: String) -> [String] { let csvBundle = Bundle.main.path(forResource: fileName, ofType: "csv")! do{ let csvData = try String(contentsOfFile: csvBundle, encoding: String.Encoding.utf8) let lineChange = csvData.replacingOccurrences(of: "\r", with: "\n") csvArray = lineChange.components(separatedBy: "\n") csvArray.removeLast() } catch { print("エラー") } return csvArray }

###参考にさせていただいている記事→これと同じことを行いたいです。
https://kininin.blogspot.com/2019/08/iosswift_3.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_3578

2021/03/23 03:17

質問とは関係ありませんが、使い方を分かってなさそうだとエスパーしたので指摘しておきます。 「エラーメッセージ」、「エラー箇所」などを太字にして見やすくされていますが 「H(見出し)」と書かれた所を押して出てくる ###エラーメッセージ のような形にした方が見やすくなります。一度お試し下さい。
kouki-1

2021/03/23 03:19

教えていただきありがとうございます。 使い方など、あまり分かっていなかったので非常に助かります。 修正させていただきます。
guest

回答1

0

エラーが出た下記の場所

Swift

1 func ProgressView;.progress = 1.0

ここの行の記述がまさに文法に従っていないということがエラーの原因です。

解決方法としては、文法にそった記述をする以外にはないかと思います。
この行を含む前後の行も文法に従っていない書き方なのですが、実現されたいことがこれだとわかりにくいので、これ以上のご指摘は難しいと思います。

なんらかの書籍やネット記事を参考にされているのかと思いますが、差し支えなければそれをご質問などに記載していただくと、もっと的確なご説明は可能かもしれません。


###追記

ざっとしか見ていませんが、追加していただいたURL の記事の通りに書くのではなく、記載されている YouTube 動画に従ってコードを追加する必要があります。

記事内のコードはあくまでも追加のための差分であり、どこに挿入すべきかは書かれていません。
追加すべき場所については動画をよく見る必要がありそうです。

おそらく3分前後あたりに、エラーが出ているコードを具体的にどの場所に、どのように追加するのか説明があるようですので、動画をよくご覧になりそれに従ってコードを追加されてはいかがでしょうか。

投稿2021/03/23 03:11

編集2021/03/23 03:30
TsukubaDepot

総合スコア5086

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kouki-1

2021/03/23 03:17

教えていただきありがとうございます。 参考にさせていただいてる記事があり、そちらのURLを記載させていただきました。 どうぞよろしくお願いいたします。
TsukubaDepot

2021/03/23 03:31

回答本文にも追記しましたが、Web上のコードは断片的なものですから、YouTube動画に従って適切な場所に追加する必要があります。ご確認ください。
kouki-1

2021/03/23 03:35

ありがとうございます!試させていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問