填写NSMutableArray的问题

时间:2011-04-05 22:23:23

标签: nsmutablearray

我有一个问题,我有一个方法,当按下按钮时,从模型核心数据中检索信息,并在选中的实体核心数据中重新填充数组,但数组是空的,为什么? ..

- (IBAction)action:(id)sender{
int numberanswer = [(NSSet *)[list valueForKey:@"answers"] count];
NSLog(@"The list have got: %i elements.", numberanswer);
[arrayAnswer initWithCapacity:numberanswer];
for (int i =0; i < numberanswer; i++) {
    NSManagedObject *answer = [[self sortAnswer] objectAtIndex:i];
    NSString *answerString = [[NSString alloc] initWithString:[[answer valueForKey:@"nameAnswer"] description]];
    NSLog(@"Answer: %@", answerString);
    [arrayAnswer insertObject:answerString atIndex:i];
    NSLog(@"%@", [arrayAnswer objectAtIndex:i]);
}

NSLog(@"%@", [arrayAnswer count]);

}

这里:

NSLog(@"Risposta: %@", answerString);

我看到每个循环的answerString都是满的,为什么数组是空的? 这是该方法的NSLog: 2011-04-05 23:59:57.538测试[574:207]列表有:20个元素。

2011-04-05 23:59:57.540测试[574:207]答:这是答案1.

2011-04-05 23:59:57.541 test [574:207](null)

2011-04-05 23:59:57.541测试[574:207]答:这是答案2.

2011-04-05 23:59:57.541 test [574:207](null)

2011-04-05 23:59:57.542测试[574:207]答:这是答案3.

2011-04-05 23:59:57.542 test [574:207](null)

2011-04-05 23:59:57.543测试[574:207]答:这是答案4.

2011-04-05 23:59:57.543 test [574:207](null)

2011-04-05 23:59:57.543测试[574:207]答:这是答案5.

2011-04-05 23:59:57.544 test [574:207](null)

2011-04-05 23:59:57.544测试[574:207]答:这是答案6.

2011-04-05 23:59:57.544 test [574:207](null)

2011-04-05 23:59:57.545测试[574:207]答:这是答案7。

2011-04-05 23:59:57.545 test [574:207](null)

2011-04-05 23:59:57.546测试[574:207]答:这是答案8.

2011-04-05 23:59:57.546 test [574:207](null)

2011-04-05 23:59:57.546测试[574:207]答:这是答案9.

2011-04-05 23:59:57.547 test [574:207](null)

2011-04-05 23:59:57.547测试[574:207]答:这是答案10.

2011-04-05 23:59:57.547 test [574:207](null)

2011-04-05 23:59:57.548测试[574:207]答:这是答案11.

2011-04-05 23:59:57.548 test [574:207](null)

2011-04-05 23:59:57.548测试[574:207]答:这是答案12.

2011-04-05 23:59:57.549 test [574:207](null)

2011-04-05 23:59:57.549 test [574:207]答:这是答案13.

2011-04-05 23:59:57.549 test [574:207](null)

2011-04-05 23:59:57.550测试[574:207]答:这是答案14.

2011-04-05 23:59:57.550 test [574:207](null)

2011-04-05 23:59:57.551测试[574:207]答:这是答案15.

2011-04-05 23:59:57.551 test [574:207](null)

2011-04-05 23:59:57.551 test [574:207]答:这是答案16。

2011-04-05 23:59:57.552 test [574:207](null)

2011-04-05 23:59:57.552测试[574:207]答:这是答案17.

2011-04-05 23:59:57.552 test [574:207](null)

2011-04-05 23:59:57.553测试[574:207]答:这是答案18。

2011-04-05 23:59:57.553 test [574:207](null)

2011-04-05 23:59:57.553测试[574:207]答:这是答案19。

2011-04-05 23:59:57.554 test [574:207](null)

2011-04-05 23:59:57.554测试[574:207]答:这是答案20.

2011-04-05 23:59:57.554 test [574:207](null)

1 个答案:

答案 0 :(得分:0)

NSString *answerString = [[NSString alloc] initWithString:[[answer valueForKey:@"nameAnswer"] description]];

不应该是必要的。您已经在Core Data模型中说过它是一个字符串,所以就这样对待它。

NSString *answerString = [answer valueForKey:@"nameAnswer"];  

但是,我不确定为什么你得到(null)值。请尝试[arrayAnswer addObject:answerString]。