ViewController
にMainstoryBoard
があります。 TableView
を追加しました。
MainStoryBoard:
さらに、ViewController
クラスの外部に配列があり、配列内のオブジェクトをTableView
に表示する必要があります。
方法がわかりません。 TableView
とViewController
の間にデリゲートを接続しました。
クラス宣言の下に新しいテーブルビューインスタンス変数を追加します。
_@IBOutlet weak var tableView: UITableView!
_
UITableViewDelegate
およびUITableViewDataSource
プロトコルに準拠するには、クラス宣言のUIViewController
の後にカンマで区切って追加します
その後、ViewController
クラスにtableView(_:numberOfRowsInSection:)
、tableView(_:cellForRowAtIndexPath:)
およびtableView(_:didSelectRowAtIndexPath:)
メソッドを実装し、現在は空のままにする必要があります。
_class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
...
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0 // your number of cells here
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// your cell coding
return UITableViewCell()
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// cell selected code here
}
}
_
コメントで@ErikPが言及したように、viewDidLoad
メソッドで_self.tableView.delgate = self
_および_self.tableView.dataSource = self
_を設定する必要もあります(またはStoryboardでもうまく機能します)。
私は遅れているかもしれません、あなたは今までにこれを修正しているかもしれません。取得しているエラーは、変数または定数がnil値を返していることが原因です。これをテストするには、それに値を割り当て(ハードコード)、動作している場合は完全なコードをチェックしてから、それを配列に変更します。
コードを共有する場合、これがまだ並べ替えられていない場合はお手伝いします。