我正在尝试将带有键的数组中的NSNumber显示到UILabel中。这是我目前的代码:marblesNeeded.text = [[[records objectAtIndex:0] valueForKey: @"marblesneeded"] intValue];
我也得到错误:
warning: Semantic Issue: Incompatible integer to pointer conversion assigning to 'NSString *' from 'int'
由于
答案 0 :(得分:13)
您需要创建一个NSString来设置UILabel的文本。
marblesNeeded.text = [NSString stringWithFormat:@"%i",[[[records objectAtIndex:0] valueForKey: @"marblesneeded"] intValue]];
格式为%i表示您将在格式之后提供整数值。
编辑:
正如一些评论所指出的那样,NSNumber确实有一个stringValue,它确实有效,但不是我个人的偏好,因为它让你几乎无法控制字符串的格式。考虑这个例子。
NSNumber *number = [NSNumber numberWithFloat:3.25];
NSLog(@"%@",number.stringValue); // Will print 3.25
NSLog(@"%@",[NSString stringWithFormat:@"%i",number.intValue]); // Will print 3
由于问题涉及打印intValue,因此可能需要更明确的格式。
答案 1 :(得分:4)
marblesNeeded.text = [[[records objectAtIndex:0] valueForKey: @"marblesneeded"] stringValue];