NSMutableArray计数在向它添加对象后返回零,它是一个小时的黑客攻击试图找出原因,而且我仍然卡住了,所以这就把我带到了这里。
任何基于以下代码的想法,问题是什么?
对象'search'是一个自定义类,在标头集中定义为指针,具有保留的非原子属性。
- (NSMutableArray *) populateArrayFromPlist{
NSLog(@"Populate Array from PList");
NSDictionary *dictionary;
// read "foo.plist" from application bundle
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"asearch.plist"];
dictionary = [NSDictionary dictionaryWithContentsOfFile:finalPath];
for (id key in dictionary)
{
search = [[ASearch alloc] init];
[dictionary valueForKey:key];
[search setID:[[dictionary valueForKey:key] intValue] ];
//[[search searchString] initWithString: key];
search.searchString = [[NSMutableString alloc] initWithString: key];
if (search == nil) {
printf("Let me know now\n\n\n\n");
}
NSLog(@"%@", [search searchString]);
NSLog(@"Setting string Value: %s\n", [key cString]);
NSLog(@"Setting ID Value: %i\n", [[dictionary valueForKey:key] intValue]);
//NSLog(@"aSearchArray count == %i", [[aSearchArray count] intValue]);
[aSearchArray addObject:search];
NSLog(@"aSearchArray count == %i", [aSearchArray count] );
答案 0 :(得分:2)
aSearchArray是一个零对象,这是你将数量计为零的唯一原因。
要获得更多确认,只需创建一个新的本地数组并尝试将对象添加到其中。 你会得到一个适当的计数