【发布时间】:2011-07-26 05:45:38
【问题描述】:
在我的 iOS 应用程序的 viewDidLoad 方法中,我有以下代码行:
loadDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1.0", "version number", nil];
它会导致EXC_BAD_ACCESS 错误。我不知道为什么。 viewDidLoad 方法中没有其他内容使用该对象,除了该行所在的 if/else 语句的另一侧,因此它不可能已经被释放。我只是不确定问题是什么。如果你想看看我的整个viewDidLoad 方法,这里是:
- (void)viewDidLoad
{
[super viewDidLoad];
tapsBackground = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
tapsBackground.delegate = self;
[self.view addGestureRecognizer:tapsBackground];
saveChangesButton.hidden = YES;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
filePath = [documentsDirectory stringByAppendingPathComponent:@"presets.plist"];
if([[NSFileManager defaultManager] fileExistsAtPath:filePath]){
loadDict = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
}
else{
loadDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"1.0", "version number", nil];
[loadDict writeToFile:filePath atomically:YES];
}
}
【问题讨论】:
-
请发布完整的错误信息。另外,
loadDict声明在哪里? -
我得到的唯一错误信息是线程 1:程序接收到的信号:接口中声明了“EXC_BAD_ACCESS”loadDict
-
另外,感谢您的编辑。我不太擅长使用stackoverflow的文本编辑器