2012-04-25 42 views
0

目前,我試圖實現一個方法,在兩個單獨的數組中存儲兩個UITextField值(在用戶輸入後)。但是,當我用控制檯運行程序時,每個數組的NSLog都返回空值(沒有插入浮點數)。不會讓我將浮點數添加到NSMutableArray

我試着切換到int,但它說有不兼容問題。任何人都知道我要去哪裏錯了?

-(IBAction)logSet:(id)sender { 
    [repsUsed insertObject:[reps.text floatValue] atIndex:0]; 
    [weightUsed insertObject:[weight.text floatValue] atIndex:0]; 

    NSLog(@"%@", repsUsed); 
    NSLog(@"%@", weightUsed); 
} 
+0

試試[repsUsed ADDOBJECT:的TextField.text]。 – 2012-04-25 05:14:03

+0

有u allocinit數組或直接insertobject init ...如果你沒有那麼先分配init數組den對象insertobject。 – 2012-04-25 05:22:47

回答

9

NSMutable只能添加目的和浮子,INT用於插入浮點值不對象類型使它通過

目的

[repsUsed insertObject:[NSNumber的numberWithFloat:[reps.text的floatValue]] atIndex:0];

+0

你在錯誤的地方有']'。 'floatValue'後應該是兩個; 'atIndex:0'之後的一個。 – GoZoner 2012-04-25 21:20:27

+0

@GoZoner:Thanx爲指出:) – 2012-04-26 04:58:52

0

您不能直接將float值或int值插入到數組中。相反,你可以直接插入一個字符串值。當你閱讀你可以將其轉換爲浮動。

使用

[repsUsed insertObject:reps.text atIndex:0]; 
[weightUsed insertObject:weight.text atIndex:0]; 

當你讀到一個數組嘗試。你可以像這樣使用。

float val1 = [[repsUsed objectAtIndex:0]floatValue]; 
float val2 = [[weightUsed objectAtIndex:0]floatValue]; 

希望這有助於!

+0

我沒有嘗試挑戰者在這裏發佈的代碼。它也可能有助於 – Anish 2012-04-25 05:16:34

-3

嘗試這個

[repsUsed addObject:[reps.text floatValue]]; 
[weightUsed addObject:[weight.text floatValue]]; 
+1

浮點數需要放入一個「'NSNumber'」對象,以便添加到「'NSMutableArray'」中 – 2012-04-25 05:23:47