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

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

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

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

Q&A

解決済

1回答

300閲覧

テーブルビューがシュミレーターに表示されない

medamaoyaji

総合スコア14

Swift

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

0グッド

0クリップ

投稿2018/11/03 06:09

swiftでテーブルビューを作ろうとしています。
MainStoryboradには何も載せていません。
下記のコードだけを打ち込んで作成しています。
シュミレーターを開いてみると画面が真っ白なままでテーブルビューが表示されません。
まだまだ勉強不足なので合っているかわかりませんが、恐らくコンソールという場所に
「 Unknown class _TtC25 ファイル名 ViewController in Interface Builder file.」というのが表示されています。
アドバイスをお願いします。

import UIKit let sectionTitle=["蝶目","バッタ目","甲虫目"] let section0=[("キタテハ","タテハチョウ科"),("クロアゲハ","アゲハチョウ科")] let section1=[("キリギリス","キリギリス科"),("ヒナバッタ","バッタ科"),("マツムシ","マツムシ科")] let section2=[("ハンミョウ","ハンミョウ科"),("アオオサムシ","オサムシ科"),("チビクワガタ","クワガタムシ科")] let titleData = [section0,section1,section2] class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let myTableView:UITableView! myTableView = UITableView(frame: view.frame, style: .grouped) myTableView.delegate = self myTableView.dataSource = self view.addSubview(myTableView) } func numberOfSections(in tableView: UITableView) -> Int { return sectionTitle.count } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { let sectionData = titleData[section] return sectionData.count } func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { return sectionTitle[section] } func tableView(_ tableView: UITableView,cellForRowAt indexPath: IndexPath)->UITableViewCell{ let cell = UITableViewCell(style: .subtitle,reuseIdentifier:"cell") let sectionData = titleData[(indexPath as NSIndexPath).section] let cellData = sectionData[(indexPath as NSIndexPath).row] cell.textLabel?.text = cellData.0 cell.detailTextLabel?.text = cellData.1 return cell } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let title = sectionTitle[indexPath.section] let sectionData = titleData[indexPath.section] let cellData = sectionData[indexPath.row] print("(title)(cellData.1)") print("(cellData.0)") } }

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

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

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

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

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

guest

回答1

0

ベストアンサー

質問に貼り付けられているコードをそのまま新規プロジェクトのViewControllerにコピペして実行したところ正しく実行できたので、このコードの問題ではないと思います。
おそらくStoryboardに貼り付けられている画面のクラス名の設定が何かおかしいのではないかという気がします。

投稿2018/11/03 14:21

TakeOne

総合スコア6299

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

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

medamaoyaji

2018/11/03 17:54

画面のクラス設定はどこを設定し直すのか、おかしいところをどのように発見すればいいのかなど教えていただけると嬉しいです。 具体的な説明もしてないのにこんな事を頼んでしまってすみません
TakeOne

2018/11/03 23:31

エラーメッセージが正確に転記されていると思えないのですが、本当に「ファイル名」なんて日本語がエラーメッセージに表示されているのですか? また、その前後は本当にスペースで区切られているのですか? 「MainStoryboradには何も載せていません。」とのことですが、本当にStoryboardは一切触っていないのですか? エラーメッセージが質問に書かれた通りであれば、Storyboardに貼り付けられているViewControllerのclass欄に「_TtC25 ファイル名 ViewController」という誤った設定がされているためエラーになっているように見えます。 「新規プロジェクトのViewControllerにコピペして実行したところ正しく実行できた」と言っているのですから、同じように新規プロジェクトを生成して質問に貼り付けられたコードをViewControllerにコピペして実行してみたらどうですか? それがうまくいくなら、エラーが出るプロジェクトとどこが違うのか詳しく比較してみたら、どこが間違っていたのか自分で調べられると思います。
medamaoyaji

2018/11/04 05:24

ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問