0

我需要通过单击按钮将命名的文本字段的内容添加productName到命名。NSMutableArraycartArray

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

NSString *productName = [NSString stringWithFormat:@"%@", productName.text];
cartArray = [[NSMutableArray alloc] init];
[cartArray addObject:productName];

NSLog(@"Cart Array==%@", cartArray);

但是每次用户单击按钮时,我都需要添加文本字段的内容。在控制台中,数组中的先前内容未显示,即不是每次都添加。

建议我在viewDidLoad或其他任何地方需要做的任何事情?

4

4 回答 4

1

每次按下按钮时,您都会重新创建 cartArray,从而覆盖上一个条目。将数组的初始化移动到 viewDidLoad 或您的 init 方法。

另外productName.text 已经是一个字符串,不需要做stringWithFormat。

于 2012-06-18T11:01:40.253 回答
1

试试这个代码

- (void)viewDidLoad:(BOOL)animated {
        [super viewDidLoad:animated];
        cartArray = [[NSMutableArray alloc]init];
}


- (IBAction)clicked:(id)sender {
        [cartArray addObject:productName.text];
        NSLog(@"Cart Array==%@",cartArray);
}
于 2012-06-18T11:09:02.117 回答
0

因为每次它都在初始化您的数组:

cartArray = [[NSMutableArray alloc] init];

您不应该每次都对其进行初始化,将其初始化一次,viewDidLoad然后在按钮操作中添加对象。

于 2012-06-18T11:01:10.887 回答
0

只需在中声明数组viewdidload

cartArray = [[NSMutableArray alloc] init];

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

于 2012-06-18T11:02:03.600 回答