У меня есть функция в фоновом потоке, которая выглядит следующим образом:
NSMutableArray *descriptions = [[NSMutableArray alloc] init];
NSString *description = [flickrFetcher descriptionForPhotoID:[[photos objectAtIndex:i] objectForKey:@"id"]];
if ([description length] == 0) {
description = @"No description available.";
}
[descriptions addObject:description];
NSLOg(@"descriptions:%@.", descriptions);
[target performSelectorOnMainThread:action withObject:descriptions];
В действии:
NSLog(@"description now is:%@.", descriptions");
Журналы:
Descriptions:2011-12-22 15:13:29.265 Paparazzi[3683:11903] (
"No description available.",
"No description available.",
"No description available.",
"No description available.",
"No description available.",
"No description available.",
"No description available.",
"No description available.",
"This is a photo of just the eyes of an image I created by editing Apple's snow leopard image. I call the whole image \"Thermal Leopard\"."
).
descriptions:(null).
В этой функции описания (массив) всегда заканчиваются нулем. Почему это происходит?
РЕДАКТИРОВАТЬ 1:
Во второй раз, когда я вызываю эту функцию, массив не равен нулю, и все работает как положено. Это только первый раз, когда этот код вызывается. Кроме того, это только ноль в методе действия основного потока, а не в коде, показанном выше.
РЕДАКТИРОВАТЬ 2:
Это ошибка? Должен ли я отправить его в Apple?
Я думаю, что это не моя вина, если бы я мог получить предложения о том, является ли это ошибкой или нет, это было бы здорово.