NSMutableArray становится нулем при отправке в основной поток - PullRequest
0 голосов
/ 22 декабря 2011

У меня есть функция в фоновом потоке, которая выглядит следующим образом:

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? Я думаю, что это не моя вина, если бы я мог получить предложения о том, является ли это ошибкой или нет, это было бы здорово.

1 Ответ

0 голосов
/ 23 декабря 2011

Я разобрался в проблеме.Где-то в методе действия я обнаружил, что я установил описание на ноль.Спасибо всем большое за вашу помощь.Я благодарю всех ваших ответов и комментариев, чтобы поблагодарить вас.

...