2012-06-18 51 views
0

我需要通過單擊按鈕將名爲productName的文本字段的內容添加到名爲cartArrayNSMutableArray通過單擊按鈕將對象從UITextField添加到NSMutableArray

在按鈕操作事件中,我寫道:

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

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

但我需要添加文本框的內容是每次用戶點擊按鈕。這裏在控制檯中,前面的數組內容沒有顯示,即每次都不會被添加。

向我建議我需要在viewDidLoad或其他地方做什麼?

+1

如果我是你,我會重新考慮他們的答案接受。即使正確,當前接受的答案與其他一些答案相比也是狗屎。 – Gerstmann

+1

@ExplodingRat是的,我已經使它正確,那時我是新的iOS所以...任何方式感謝您的審查.. –

回答

1

您每次按下按鈕時都會重新創建cartArray,從而覆蓋前一個條目。將數組的初始化移至viewDidLoad或init方法。

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

+0

是的它的工作原理沒有stringWithFormat。感謝bennythemink –

+0

沒問題@AjitSatarkar – bennythemink

0

因爲每次它正在初始化您的數組:

cartArray = [[NSMutableArray alloc] init]; 

你應該每次都沒有初始化,在viewDidLoad初始化一次,然後在按鈕操作添加對象。

+0

是的謝謝Nuzhat .. –

0

只是聲明數組中viewdidload

cartArray = [[NSMutableArray alloc] init]; 

和刪除操作事件通話功能的陣列。

+0

謝謝SenthilKumar再一次幫助了我。 –

+0

行..沒問題我的朋友.. – Senthilkumar

1

試試這個代碼

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


- (IBAction)clicked:(id)sender { 
     [cartArray addObject:productName.text]; 
     NSLog(@"Cart Array==%@",cartArray); 
}