Objective c 创建一个可变阵列,我可以在iphone上查看控制器的任何位置访问它?

Objective c 创建一个可变阵列,我可以在iphone上查看控制器的任何位置访问它?,objective-c,iphone,ipad,Objective C,Iphone,Ipad,我正在将json加载到一个对象列表中,并将其添加到一个NSMutableArray中,该数组似乎运行良好,只是我似乎无法保留该数组以供以后访问 这是我的。h: @interface ClientController : UITableViewController { NSMutableData *responseData; NSMutableArray *ClientList; } @property (nonatomic, retain) NSMutableArray *Cl

我正在将json加载到一个对象列表中,并将其添加到一个NSMutableArray中,该数组似乎运行良好,只是我似乎无法保留该数组以供以后访问

这是我的。h:

@interface ClientController : UITableViewController {
    NSMutableData *responseData;
    NSMutableArray *ClientList;
}

@property (nonatomic, retain) NSMutableArray *ClientList;
在我的.m中,我添加:

@synthesize ClientList;
后来我有了一个填充它的方法(客户机也是我拥有的一个类):


我需要循环这个来构建我的表-那么我缺少什么呢?

必须初始化你的客户列表,因此:

-(void)viewDidLoad
{
  self.ClientList = [NSMutableArray array];
}
否则self.ClientList是一个nil指针,因此,
[self.ClientList addObject:
是一个无提示的no操作,正如
[self.ClientList count]
一样


顺便说一句,“客户列表”这个名字可能会更好。我们希望我们的变量在Obj-C中以小写开头。

我相信这确实起到了作用,但现在当我到达这一行时,我得到了一个“EXC_BAD_ACCESS”错误:NSLog(@“Clients Count:%@\n”,[clientList Count]);做更多的阅读,它似乎因为我释放了我的客户端,一旦我添加它,它不再在阵列中可用-感谢您的帮助@Max Fraser:
[clientList count]
返回一个int。该int的NSString格式标记是%d,而不是%@。这就是为什么执行官的访问权限不好。我知道这似乎会给你一个更礼貌的错误,但它确实存在。@Max:另外,数组在添加客户端时会保留客户端。添加后释放它是正确的做法。
NSLog(@"Clients Count: %@\n", [ClientList count]);
-(void)viewDidLoad
{
  self.ClientList = [NSMutableArray array];
}