「Naviagation-based Application」テンプレートの「Use Core Data for storage」にチェックを入れて開発を行う際の注意点。ひどくはまったのでメモ。
まず自動で生成される「RootViewController.m」。
通常のCoreDataを使用しないテンプレートでは、TableViewのデリゲートメソッド「-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{...}」でセルに情報を渡すが、CoreDataを使用する場合には、ここで情報を渡すことができない。実際に渡す箇所は「- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {...}」となっている。
次に、過去に同じ名前でCoreDataを使用したアプリを制作した場合、コードが正しくてもビルド後すぐ落ちる。これはシミュレータの該当アプリを削除することで対応できる。同様にエンティティの属性などに変更があった場合にも、一旦アプリを削除する必要があるようだ。
コメントする