Objective-C在方法中更改实例变量的值

Objective-C在方法中更改实例变量的值,objective-c,xcode4,Objective C,Xcode4,我正在XCode 4.4上编写Objective-C代码。 我有一个NSMutableArray作为类k_info的实例变量 我也用onesplaces的名字定义和合成了(非原子,保留)属性。 我无法在NSMutableArray onesplaces中添加NSMUtableString对象。 当我尝试添加它时,onesplaces的大小仍然是0,索引为零的对象显然仍然是空的。 我尝试过使用或不使用“self”关键字,但在这两种情况下都不起作用。 我添加对象并打印它的语法是正确的,因为当我创建一

我正在XCode 4.4上编写Objective-C代码。 我有一个NSMutableArray作为类k_info的实例变量 我也用onesplaces的名字定义和合成了(非原子,保留)属性。 我无法在NSMutableArray onesplaces中添加NSMUtableString对象。 当我尝试添加它时,onesplaces的大小仍然是0,索引为零的对象显然仍然是空的。 我尝试过使用或不使用“self”关键字,但在这两种情况下都不起作用。 我添加对象并打印它的语法是正确的,因为当我创建一个新的NSMutableArray测试时 并尝试做同样的事情,它适用于它,但不适用于实例变量onesplaces。 如果不解决这个问题,我就无法继续我的项目。请告诉我为什么 发生了什么,我该如何解决这个问题

-(void)createinfo:(NSMutableArray)al varsis:(int)vars { NSMutableString stes=[[NSMutableString alloc]init]; stes=(NSMutableString*)@“string0”


您可能忘了创建数组。在代码中的某个地方,可能在
init
方法中,您需要在使用它之前创建数组

self.onesplaces = [[NSMutableArray alloc] init];

您会收到
nil
而不是错误消息,因为Objective-C允许您向nil发送消息,后者总是返回nil。

有时我们可能会忘记在添加数组之前初始化数组。检查这是否是问题所在。是的,这就是问题所在。我没有初始化NSMutableArray。现在,在创建它之后。代码正在工作N.thanx alot@ImrozeAslam很高兴我能提供帮助,欢迎来到StackOverflow。这里的习惯是“接受”解决您问题的答案,这将给您和回答者在网站上带来更好的声誉。
self.onesplaces = [[NSMutableArray alloc] init];