Sja*_*ien 2 cocoa cocoa-touch objective-c nsuserdefaults nsmutablearray
在下面的代码中,我尝试从plist中读取数据:
-(void)readPreferences
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSMutableArray * myAppDefaults = [defaults mutableArrayValueForKey:@"LastList"];
myCustomObject * savedObject;
NSUInteger i;
for (i = 0; i < [myAppDefaults count]; i++)
{
NSArray * thisArray = [myAppDefaults objectAtIndex:i];
savedObject.value1 = [thisArray objectAtIndex:0];
savedObject.value2 = [thisArray objectAtIndex:1];
savedObject.value3 = [thisArray objectAtIndex:2];
savedObject.value4 = [myAppDefaults objectAtIndex:3];
[objectsArray addObject:savedObject];
}
}
Run Code Online (Sandbox Code Playgroud)
不知何故,当我尝试设置"savedObject.value1"时,我收到"EXC_BAD_ACCESS"错误.
我意识到这很可能是基本的内存管理,或指针/对象的混乱,但我还在学习.我希望有人可以帮助我.最好的问候Sjakelien
您savedObject在设置value1属性时尚未初始化.您需要添加:
savedObject = [[myCustomObject alloc] init];
Run Code Online (Sandbox Code Playgroud)
在for循环之前,为了使它成为可以设置属性的有效对象.
| 归档时间: |
|
| 查看次数: |
2044 次 |
| 最近记录: |