我在我的iPhone应用程序上使用CoreData。当我在运行iOS 3.1.3的旧1g iPhone上测试应用程序时,我在此方法中获得了一个SIGABRT
#pragma mark - Application's Documents directory
/**
Returns the URL to the application's Documents directory.
*/
- (NSURL *)applicationDocumentsDirectory
{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
*** -[NSFileManager URLsForDirectory:inDomains:]: unrecognized selector sent to instance 0x106920
2011-04-08 23:49:26.311 TestApp[963:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSFileManager URLsForDirectory:inDomains:]: unrecognized selector sent to instance 0x106920'
2011-04-08 23:49:26.321 TestApp[963:207] Stack:...
我正在使用XCode 4.似乎不支持选择器,但我认为他们说CoreData应该适用于iOS> 3 .....那么为什么与它一起生成的代码不起作用......
答案 0 :(得分:2)
URLForDirectory仅适用于iOS 4.0及更高版本
答案 1 :(得分:0)
因为代码是 NOT 与Core Data相关,而是与NSFileManager类上的Foundation方法有关,该方法自iOS 4.0起可用。