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,则创建自定义方法来重置数组并从父视图控制器调用。回答得很好,但我发现如果我离开该视图,然后返回该视图,“数组”将重新初始化(清除自身)…对不起,我意识到我的问题中没有提到这一点..谢谢当我问一个合理的问题时为什么降级??