【发布时间】:2011-12-08 15:37:46
【问题描述】:
我想我在这里遗漏了一些非常基本的,但它就在这里。
XCode 中的内联帮助告诉我 initWithContentsOfFile: 已弃用
NSMutableDictionary *myDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
应该使用 initWithContentsOfFile:encoding:error:。
NSMutableDictionary *myDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath encoding:NSUTF8StringEncoding error:NULL];
我的问题是 initWithContentsOfFile: 工作正常,而下面的代码引发错误。
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"prefs" ofType:@"plist"];
Load preferences into symbol dictionary
NSMutableDictionary *myDict = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath encoding:NSUTF8StringEncoding error:NULL];
错误:
2011-12-08 16:27:12.209 -[__NSPlaceholderDictionary initWithContentsOfFile:encoding:error:]: unrecognized selector sent to instance 0x4b2a370
2011-12-08 16:27:12.212 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSPlaceholderDictionary initWithContentsOfFile:encoding:error:]: unrecognized selector sent to instance 0x4b2a370'
【问题讨论】:
-
你的目标是什么版本的IOS。据我所知,2.0 版之后的所有内容都具有 [[NSMutableDictionary alloc] initWithContentsOfFile:filePath]。文档是here。我在 NSDictionary 的文档中没有看到 initWithContentsOfFile:encoding:error 的提及,所以我会避开它。
-
感谢您的回复!我喜欢 iOS 4.3。
-
我现在注意到,XCode 警告是针对 NSString 的,尽管我使用的是 NSDictionary。奇怪的。再次感谢克里斯!
标签: initwithcontentsoffile invalidargumentexception