我在后台线程上有一个如下所示的函数:
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).
在该函数中,描述(数组)总是以nil结尾。为什么会这样?
编辑1:
第二次调用这个函数时,数组不是nil,并且每个东西都按预期工作。这是第一次调用此代码。此外,它在主线程动作方法中仅为零,而不是在上面显示的代码中。
编辑2:
这是一个错误吗?我应该把它提交给Apple吗? 我认为这可能不是我的错,如果我能得到关于这是一个错误的建议,那将是非常好的。
答案 0 :(得分:0)
我弄明白了这个问题。在动作方法的某个地方,我发现我将描述设置为nil。非常感谢大家的帮助。我赞同你所有的答案和评论,谢谢你。