0

NSMutableArray 计数在向其中添加对象后返回零,花了一个小时试图找出原因,但我仍然卡住了,所以这把我带到了这里。

基于以下代码的任何想法,问题是什么?

对象“搜索”是在标头集中定义为指针的自定义类,具有保留、非原子属性。

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

1 回答 1

2

aSearchArray 是一个 nil 对象,这是您计数为零的唯一原因。

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

于 2010-03-08T06:54:26.977 回答