質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.49%
Swift

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

Q&A

解決済

1回答

532閲覧

Use of unresolved identifier 'self'というエラーについて

saku333

総合スコア12

Swift

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

0グッド

0クリップ

投稿2019/02/05 07:57

前提・実現したいこと

iphoneの設定アプリのような画面遷移がしてみたく、ググったりして以下のコードを書いたのですが、
エラーが出てきました。調べてもよく分からなかったので質問させてください。

発生している問題・エラーメッセージ

Use of unresolved identifier 'self'

該当のソースコード

swift

1import UIKit 2 3class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 4 5 @IBOutlet weak var tableView: UITableView! { 6 didSet { 7 tableView.register(UINib(nibName: "CustomCell", bundle: nil), forCellReuseIdentifier: "CustomCell") 8 } 9 } 10 11 let data = ["一般", "コントロールセンター", "画面表示と明るさ", "壁紙", "Siriと検索", "バッテリー"] 12 enum datachoise: Int { 13 case data0 = 0 14 case data1 = 1 15 case data2 = 2 16 case data3 = 3 17 case data4 = 4 18 case data5 = 5 19 var seugeIdentifier: String { 20 switch self { 21 case .data0: 22 return "todata0" 23 case .data1: 24 return "todata1" 25 case .data2: 26 return "todata2" 27 case .data3: 28 return "todata3" 29 case .data4: 30 return "todata4" 31 case .data5: 32 return "todata5" 33 } 34 } 35 } 36 override func viewDidLoad() { 37 super.viewDidLoad() 38 39 tableView.delegate = self 40 tableView.dataSource = self 41 42 } 43 44 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 45 return data.count 46 } 47 48 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 49 let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as! CustomCell 50 cell.textLabel?.text = data[indexPath.row] 51 return cell 52 } 53} 54func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 55 56 switch indexPath.row { 57 case 0: 58 self.performSegue(withIdentifier: "todate0", sender: nil) 59 case 1: 60 self.performSegue(withIdentifier: "todata1", sender: nil) 61 case 2: 62 self.performSegue(withIdentifier: "todata2", sender: nil) 63 case 3: 64 self.performSegue(withIdentifier: "todata3", sender: nil) 65 case 4: 66 self.performSegue(withIdentifier: "todata4", sender: nil) 67 case 5: 68 self.performSegue(withIdentifier: "todata5", sender: nil) 69 default: break 70 } 71 72 73} 74

どのような組み込みにすればこのエラーは解決するのでしょうか。どうかご回答よろしくお願いします。

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

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

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

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

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

fuzzball

2019/02/05 07:59

エラーはどこで出ているのでしょうか?
fuzzball

2019/02/05 07:59

エラーの意味は分かっているのでしょうか?
fuzzball

2019/02/05 07:59

このエラーについてあなたが調べたことを書いて下さい。
saku333

2019/02/05 08:29

最後のswitch文のselfの所です。 selfが定義されていないためのエラーで合ってますか? selfについてあまり理解が足りないのですが、定義するものなのでしょうか?自分はメゾットみたいな感じだと思っていたのですが、、 ググって調べたのですがよく分からなかったので質問しました。
fuzzball

2019/02/05 08:42

>>selfについてあまり理解が足りないのですが 足りないと思うのなら調べましょう。 >>メゾット メソッド(method)です。 >>自分はメゾットみたいな感じだと思っていたのですが 違います。
guest

回答1

0

ベストアンサー

tableView(_:didSelectRowAt)がクラスの外に出ています。

投稿2019/02/05 08:41

fuzzball

総合スコア16731

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

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

saku333

2019/02/05 09:37

なるほど!見落としてました 笑 うまく実行することができました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問