通过单击按钮将对象从UITextField添加到NSMutableArray

时间:2012-06-18 10:57:07

标签: iphone objective-c ipad ios5 xcode4.2

我需要通过点击按钮将名为productName的文本字段的内容添加到名为NSMutableArray的{​​{1}}。

在我写的按钮动作事件中:

cartArray

但是每次用户点击按钮我都需要添加textfield的内容。这里在控制台中的数组未显示的先前内容,即每次都没有添加。

NSString *productName = [NSString stringWithFormat:@"%@", productName.text]; cartArray = [[NSMutableArray alloc] init]; [cartArray addObject:productName]; NSLog(@"Cart Array==%@", cartArray); 或其他任何地方建议我需要做的事情吗?

4 个答案:

答案 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];

并从动作事件调用函数中删除该数组。