2012-05-26 92 views
0

感謝所有幫助解決問題的方法。 :)如何將文本字段中的double添加到NSMutableArray中xcode

出於某種原因,對我來說這不會工作,請幫助

array = [[NSMutableArray alloc] init];
inputted = [input.text doubleValue];
[array addObject:[NSNumber numberWithDouble:inputted]];
NSLog(@"%i",array.count);

其中陣列是一個NSMutableArray的,輸入的是一張雙人牀和輸入文本字段 所發生的一切是一個省,但刪除最後輸入的一個。我如何使它保存所有輸入的內容?

+0

如果你在調試器中遍歷代碼,是否「輸入」了你期望的double值?你的NSLog的結果是什麼? 「0」? –

+0

不管我輸入什麼,無論我輸入多少次,NSLog結果都是1 –

+0

也如果我做NSLog(@「%g」,[array objectAtIndex:0]);當我輸入5作爲我想要保存的號碼時,會給我4.04411e-316爲什麼?!?!? –

回答

1

每次通過函數時,您都會重新創建並重新初始化「array」可變數組,因此毫無疑問,您將得到「1」(數組中的一個對象)的結果。

如果初始化數組一次且僅一次,並從該代碼的其餘部分將它客場(即,進入不同的功能或其他),那麼你會增加額外的對象,你的可變數組和你每次將對象添加到可變數組時,都會看到計數增量。

有意義嗎?

+0

你的意思是把它放入veiwDidLoad,因爲當我做了它只是不斷崩潰,我應該把它放入一個if語句,只讓它通過一次? –

+0

創建並初始化你的數組一次......如果你讓它成爲你的視圖控制器的一個實例變量,這是實現它的一種方法。然後,您可以隨時將數字對象添加到您的數組,並且無論視圖控制器對象(和數組)是否活着。 –

+0

如果您沒有使用ARC,那麼您必須確保正確進行內存管理。 (好吧,即使使用ARC,你也必須正確地進行內存管理,但是很多內容管理都是自動處理的。)我猜你所看到的崩潰是因爲你沒有這麼做。 –

相關問題