2017年07月30日

unable to dequeue a cell with identifier cell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard

Swift実践入門 ── 直感的な文法と安全性を兼ね備えた言語 (WEB DB PRESS plus)

新品価格
¥3,456から
(2017/7/30 23:00時点)



ひさびさにswift触ってるマスタカです
以下のエラーが出たのでその対応について
unable to dequeue a cell with identifier cell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard

・書いたコード
swiftで以下を書いた
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath as IndexPath)
まぁコピペです(笑)
そしたらエラーが出たわけだ


・対応策
CellをStoryboardに貼り付けてIdentifierにCellを設定したら
問題なく動くようになりました。
ただし、デフォルトのtableview作りたかっただけなんだけど・・・
こんなに面倒になったんだって不思議に思った


・あれいつ変わったんだっけ
よくよく見たら今まではこう書いてた
objective-cだけど勘弁
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
それがいつのまにかindexPathが必要になった模様


・両者の違い
ここに書いてあった
http://qiita.com/rd0501/items/5287c4fe0e0dd8fd9ff0
返り値が違うのでindePathある方が推奨かな


1画面作るだけなのにとても為になりました
optional型苦手なんだよなぁ・・・
しばらくswiftやるよ
タグ:Swift
posted by マスタカ at 23:01 | Comment(0) | TrackBack(0) | プログラミング | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック