0

ボタンをクリックしてproductNameNSMutableArrayという名前のテキストフィールドの内容を名前付きに追加する必要があります。cartArray

私が書いたボタンアクションイベントで:

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 に答える