Objective c 添加';数据';到NSMutable数组-Xcode

Objective c 添加';数据';到NSMutable数组-Xcode,objective-c,arrays,nsarray,Objective C,Arrays,Nsarray,我想将“电子邮件”数据添加到我的NSMutableArray中,因此每次按下该按钮,它都会向该数组中添加另一封电子邮件,因此我最终得到一个电子邮件地址数组,但似乎无法使其正常工作 我想我的问题是我正在重新初始化数组,所以清除它,可能需要将初始化放在其他地方…我已经尝试过了 下面的代码允许我添加地址,但每次调用iAction时,我认为我正在清除数组,任何指针或帮助都将非常有用 @property (strong, nonatomic) NSMutableArray *mutable;

我想将“电子邮件”数据添加到我的
NSMutableArray
中,因此每次按下该按钮,它都会向该数组中添加另一封电子邮件,因此我最终得到一个电子邮件地址数组,但似乎无法使其正常工作

我想我的问题是我正在重新初始化数组,所以清除它,可能需要将初始化放在其他地方…我已经尝试过了

下面的代码允许我添加地址,但每次调用
iAction
时,我认为我正在清除数组,任何指针或帮助都将非常有用

   @property (strong, nonatomic) NSMutableArray *mutable;

   @synthesize mutable;
   - (IBAction)array:(id)sender {

   mutable = [[NSMutableArray alloc]initWithObjects:self.person.email, nil];
   [mutable addObject:self.person.email];

   NSLog(@"ARRAY OF EMAILS %@",mutable);

   }

您是对的-每次调用
array:
方法时,您都在初始化数组。您可以将代码更改为仅初始化一次:

- (IBAction)array:(id)sender {
   if(!self.mutable) {
       self.mutable = [[NSMutableArray alloc]initWithObjects:self.person.email, nil];
   }
   [self.mutable addObject:self.person.email];

}

作为旁注-此属性不必使用
@synthesis
。阅读了解更多详细信息。

您是否使用UIViewController?如果是,则在viewDidAppear方法中重置数组。
如果您使用的是UIView,则创建自定义方法来重置数组并从父视图控制器调用。

回答得很好,但我发现如果我离开该视图,然后返回该视图,“数组”将重新初始化(清除自身)…对不起,我意识到我的问题中没有提到这一点..谢谢当我问一个合理的问题时为什么降级??