从数组访问元素时应用程序崩溃

时间:2016-02-20 13:02:41

标签: ios objective-c nsmutablearray

我使用以下代码动态地向元素添加元素。

for (response in jsonDic[@"value"][@"options"]){
                 NSMutableArray *notifyText = [[NSMutableArray alloc]init];
                 [notifyText  addObject: jsonDic[@"value"][@"options"][response]];
                 NSLog(@"it is%@",notifyText[1]);
             }

当我尝试使用notifyText[1]进行访问时,我缺少的逻辑是什么?

3 个答案:

答案 0 :(得分:2)

您每次都创建notifyText数组,因此每次分配并只添加一个值

请喜欢

 NSMutableArray *notifyText = [[NSMutableArray alloc]init];
for (response in jsonDic[@"value"][@"options"]){
                 [notifyText  addObject: jsonDic[@"value"][@"options"][response]];
                 }
 NSLog(@"it is%@",notifyText[1]);

答案 1 :(得分:1)

数组中的索引以0开头。第一个元素的索引= 0。尝试

 NSLog(@"it is%@",notifyText[0]);

答案 2 :(得分:1)

你正在for循环中分配名为“notifyText”的MutableArray,它每次都被分配,最后一个值被初始化,对象被添加到0索引,你试图从索引1获取,这就是为什么app是得到崩溃。在for循环或ViewDidLoad方法上面做一件事就是数组。