【Objective-C】iPhoneアプリの作成方法:CoreDataでのエラー

2013/02/09  カテゴリー:アプリ開発    タグ:タグ: ,



CoreData

iPhoneアプリ開発中に良かれと思ったCoreDataの修正がエラーに成ってはまってしまった。結局なんてことないことで、解決したのだが、備忘録として。


- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
内で
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"hoge.sqlite"];
で動いていたが、これを
NSString *storePath = [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"hoge.sqlite"];
NSURL *storeURL = [NSURL fileURLWithPath:storePath];
にすると次のようなエラーが発生

No visible @interface for ‘NSURL’ declares the selector ‘stringByAppendingPathComponent


調べたところ、

applicationDocumentsDirectoryの定義が以下のようになっていた
- (NSURL *)applicationDocumentsDirectory
{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
これを以下の様に戻すことで解消した
- (NSString *)applicationDocumentsDirectory
{
return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}

参考にした本



photo credit: quapan via photopin cc

Share on Google+Tweet about this on TwitterShare on Facebook