添加'数据'到NSMutableArray - Xcode

时间:2014-11-24 20:17:41

标签: objective-c arrays nsarray

我想添加'电子邮件'数据到我的NSMutableArray所以每次按下按钮都会向数组添加另一封电子邮件,所以我最终得到了一系列电子邮件地址,但似乎无法让它正常工作。

我认为我的问题是我正在重新初始化阵列以便将其清除,并且可能需要将初始化放在其他地方......我已经尝试过了。

以下代码允许我添加一个地址,但每次调用IBAction时我都认为我正在清除数组,任何指针或帮助都会很棒

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

   }

2 个答案:

答案 0 :(得分:0)

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

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

}

作为附注 - 您不必为此属性使用@synthesize。请阅读"Adopting Modern Objective-C"了解详情。

答案 1 :(得分:0)

你使用过UIViewController吗?如果是,则在viewDidAppear方法中重置该数组。 如果您正在使用UIView,则创建自定义方法以重置数组并从父viewController调用。