NSMutableArray无法正常工作......(计数不应该返回零!)

时间:2010-03-08 06:23:29

标签: iphone objective-c count nsmutablearray retain

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] );

1 个答案:

答案 0 :(得分:2)

aSearchArray是一个零对象,这是你将数量计为零的唯一原因。

要获得更多确认,只需创建一个新的本地数组并尝试将对象添加到其中。 你会得到一个适当的计数