我需要通过点击按钮将名为productName
的文本字段的内容添加到名为NSMutableArray
的{{1}}。
在我写的按钮动作事件中:
cartArray
但是每次用户点击按钮我都需要添加textfield的内容。这里在控制台中的数组未显示的先前内容,即每次都没有添加。
在NSString *productName = [NSString stringWithFormat:@"%@", productName.text];
cartArray = [[NSMutableArray alloc] init];
[cartArray addObject:productName];
NSLog(@"Cart Array==%@", cartArray);
或其他任何地方建议我需要做的事情吗?
答案 0 :(得分:1)
每按一次按钮,您就会重新创建cartArray,从而覆盖之前的条目。将数组的初始化移至viewDidLoad或init方法。
此外,productName.text已经是一个字符串,不需要执行stringWithFormat。
答案 1 :(得分:1)
试试此代码
- (void)viewDidLoad:(BOOL)animated {
[super viewDidLoad:animated];
cartArray = [[NSMutableArray alloc]init];
}
- (IBAction)clicked:(id)sender {
[cartArray addObject:productName.text];
NSLog(@"Cart Array==%@",cartArray);
}
答案 2 :(得分:0)
因为每次初始化你的数组时都会这样:
cartArray = [[NSMutableArray alloc] init];
您不应每次都初始化它,在viewDidLoad
中初始化一次,然后在按钮操作中添加对象。
答案 3 :(得分:0)
只需在viewdidload
cartArray = [[NSMutableArray alloc] init];
并从动作事件调用函数中删除该数组。