感谢您对此的帮助。
我在我的主要捆绑中从一个plist中拉出一个NSDictionary并且遇到了麻烦。这是代码:
- (void)viewDidLoad {
// Pull in FAQ from Plist
NSString *strFAQPlist = [[NSBundle mainBundle] pathForResource:@"FAQs" ofType:@"plist"];
dictFAQList = [[NSDictionary alloc] initWithContentsOfFile: strFAQPlist];
// Create indexed array to hold the keys
arrFAQKeys = [[dictFAQList allKeys] retain];
// Release local vars
[strFAQPlist release];
[super viewDidLoad];
}
我觉得我应该像我一样释放NSString。问题是,当我这样做时,我收到一个EXC_BAD_ACCESS错误。当我发布评论时,一切正常。有人可以向我解释为什么会发生这种情况吗?
提前致谢!
答案 0 :(得分:3)
pathForResource
会返回自动释放的NSString
。
如果您调用了alloc / init方法,复制方法或明确保留它,则只调用release。
如果您没有直接创建对象(或保留它),请不要释放它。