0

現在、2 つの UITextField 値 (ユーザーが入力した後) を 2 つの別々の配列に格納するメソッドを実装しようとしています。ただし、コンソールでプログラムを実行すると、各配列の NSLog は null 値を返しました (フロートは挿入されませんでした)。

int に切り替えてみましたが、非互換性の問題があると表示されます。私がどこで間違っているか知っている人はいますか?

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

    NSLog(@"%@", repsUsed);
    NSLog(@"%@", weightUsed); 
}
4

3 に答える 3

9

NSMutable はオブジェクトと float のみを追加できます。int は、float 値を挿入するためのオブジェクト型ではありません。

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

于 2012-04-25T05:15:13.653 に答える
0

float 値または int 値を配列に直接挿入することはできません。代わりに、文字列値を直接挿入できます。あなたが読むとき、あなたはそれをfloatに変換することができます。

使ってみて

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

配列を読み取るとき。このように使えます。

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

お役に立てれば!!!

于 2012-04-25T05:15:13.647 に答える
-3

これを試して

 [repsUsed addObject:[reps.text floatValue]];
 [weightUsed addObject:[weight.text floatValue]];
于 2012-04-25T05:15:58.153 に答える