当前位置:  开发笔记 > IOS > 正文

EXC_BAD_ACCESS尝试读取NSArray

如何解决《EXC_BAD_ACCESS尝试读取NSArray》经验,为你挑选了1个好方法。

在下面的代码中,我尝试从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"错误.

我意识到这很可能是基本的内存管理,或指针/对象的混乱,但我还在学习.我希望有人可以帮助我.最好的问候Sjakelien



1> Jason..:

savedObject在设置value1属性时尚未初始化.您需要添加:

savedObject = [[myCustomObject alloc] init];

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


不要忘记向该对象发送释放或自动释放.
推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有