我正在尝试从带有UILabel键的数组中显示NSNumber。这是我当前的代码:marblesNeeded.text = [[[records objectAtIndex:0] valueForKey: @"marblesneeded"] intValue];
我也得到错误:warning: Semantic Issue: Incompatible integer to pointer conversion assigning to 'NSString *' from 'int'
谢谢

最佳答案

您需要创建一个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,因此可能需要这种更明确的格式。

关于iphone - 在标签中显示NSNumber,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7973639/

10-11 23:16
查看更多