我有一個問題,我有一個方法,當按下按鈕時從模型核心數據檢索信息,並填充數組與字符串retrived在實體核心數據選擇,但數組是空的,爲什麼...問題來填充一個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測試[574:207](空)
2011-04-05 23:59:57.541測試[574:207]答:這是ANSWER2。
2011-04-05 23:59:57.541測試[574:207](空)
2011-04-05 23:59:57.542測試[574:207]答:這是ANSWER3。
2011-04-05 23:59:57.542測試[574:207](空)
2011-04-05 23:59:57.543測試[574:207]答:這是answer4。
2011-04-05 23:59:57.543測試[574:207](空)
2011-04-05 23:59:57.543測試[574:207]答:這是answer5。
2011-04-05 23:59:57.544測試[574:207](空)
2011-04-05 23:59:57.544測試[574:207]答:這是answer6。
2011-04-05 23:59:57.544測試[574:207](空)
2011-04-05 23:59:57.545測試[574:207]答:這是answer7。
2011-04-05 23:59:57.545測試[574:207](空)
2011-04-05 23:59:57.546測試[574:207]答:這是answer8。
2011-04-05 23:59:57.546測試[574:207](空)
2011-04-05 23:59:57.546測試[574:207]答:這是answer9。
2011-04-05 23:59:57.547測試[574:207](空)
2011-04-05 23:59:57.547測試[574:207]答:這是answer10。
2011-04-05 23:59:57.547測試[574:207](空)
2011-04-05 23:59:57.548測試[574:207]答:這是answer11。
2011-04-05 23:59:57.548測試[574:207](空)
2011-04-05 23:59:57.548測試[574:207]答:這是answer12。
2011-04-05 23:59:57.549測試[574:207](空)
2011-04-05 23:59:57.549測試[574:207]答:這是answer13。
2011-04-05 23:59:57.549測試[574:207](空)
2011-04-05 23:59:57.550測試[574:207]答:這是answer14。
2011-04-05 23:59:57.550測試[574:207](空)
2011-04-05 23:59:57.551測試[574:207]答:這是answer15。
2011-04-05 23:59:57.551測試[574:207](空)
2011-04-05 23:59:57.551測試[574:207]答:這是answer16。
2011-04-05 23:59:57.552測試[574:207](空)
2011-04-05 23:59:57.552測試[574:207]答:這是answer17。
2011-04-05 23:59:57.552測試[574:207](空)
2011-04-05 23:59:57.553測試[574:207]答:這是answer18。
2011-04-05 23:59:57.553測試[574:207](空)
2011-04-05 23:59:57.553測試[574:207]答:這是answer19。
2011-04-05 23:59:57.554測試[574:207](空)
2011-04-05 23:59:57.554測試[574:207]答:這是answer20。
2011-04-05 23:59:57.554測試[574:207](空)
你記得正確地初始化數組btw?你還需要分配它 – 2011-04-05 22:29:53
我會嘗試所有,但現在我在頭文件中使用另一個initializa arrayAnswer,現在我改變了數組,並且我在該方法中創建了一個:NSMutableArray * arrayAnswer2 = [[NSMutableArray alloc] initWithCapacity :numberAnswer];現在工作...但數組它不同於arrayAnswer我有簡單的寫在頭文件NSMutableArray * arrayAnswer。我在哪裏初始化它? – Piero 2011-04-05 22:31:20
在你的.h中聲明'NSMutableArray * arrayAnswer'更好(也更容易),在你的load方法中初始化它(可能是它的任何一個)並直接使用它,就像我之前在方法中說過的那樣。混合兩個不同的陣列應該做同樣的事情並不是很好的做法。我讓自己可以理解嗎?編輯:在你的情況下,我不會分配或初始化它,因爲它可能導致應用程序崩潰,如果你多次單擊按鈕 – 2011-04-05 22:37:01