不会让我添加Float到NSMutableArray

时间:2012-04-25 05:10:02

标签: iphone objective-c cocoa-touch

目前,我正在尝试实现一个方法,该方法在两个单独的数组中存储两个UITextField值(在用户输入之后)。但是,当我使用控制台运行程序时,每个数组的NSLog都返回空值(没有插入浮点数)。

我尝试切换到int,但它说存在不兼容问题。谁知道我哪里出错?

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

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

3 个答案:

答案 0 :(得分:9)

NSMutable只能添加对象和float,int不是对象类型,用于插入浮点值使其成为对象

  

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

答案 1 :(得分: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];

希望这有帮助!!!

答案 2 :(得分:-3)

试试这个

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