在以下代码中,我尝试从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];
        }

    }


以某种方式,当我尝试设置“ savedObject.value1”时,出现“ EXC_BAD_ACCESS”错误。

我意识到这很可能是基本的内存管理,或者是指针/对象的混乱,但是我仍在学习。
我希望有人可以在这里帮助我。
最好的祝福
雅克利安

最佳答案

设置savedObject属性时,尚未初始化value1。您将需要添加:

savedObject = [[myCustomObject alloc] init];


为了使它成为可以设置属性的有效对象,请在for循环之前。

关于objective-c - EXC_BAD_ACCESS尝试读取NSArray,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1024031/

10-12 14:45