Iphone 在标签中显示编号
我正在尝试将一个NSNumber从带有键的数组显示到UILabel中。这是我当前的代码:Iphone 在标签中显示编号,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我正在尝试将一个NSNumber从带有键的数组显示到UILabel中。这是我当前的代码:marblesneed.text=[[records objectAtIndex:0]valueForKey:@“marblesneed”]intValue] 我还得到一个错误: 警告:语义问题:从“int”分配给“NSString*”的整数到指针转换不兼容 谢谢您需要创建一个NSString来设置UILabel的文本 marblesNeeded.text = [NSString stringWithFor
marblesneed.text=[[records objectAtIndex:0]valueForKey:@“marblesneed”]intValue]代码>
我还得到一个错误:
警告:语义问题:从“int”分配给“NSString*”的整数到指针转换不兼容
谢谢您需要创建一个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的问题尚未解决,因此可能需要这种更明确的格式。您需要创建一个NSString来设置UILabel的文本
marblesNeeded.text = [NSString stringWithFormat:@"%i",[[[records objectAtIndex:0] valueForKey: @"marblesneeded"] intValue]];
marblesNeeded.text = [[[records objectAtIndex:0] valueForKey: @"marblesneeded"] stringValue];
在格式%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的问题尚未解决,因此可能需要这种更明确的格式。您也可以使用[myNumber stringValue]无需获取int值NSNumber应该知道如何打印自己,例如[NSString stringWithFormat:@“%@,[[records objectAtIndex:0]valueForKey:@“Marblesneed”]
@sosborn comment更酷,但如果你的格式有点复杂,那么了解我的评论就很方便如果你想对格式有更多的控制,那么你可以使用NSNumberFormatter
这将为你提供本地化格式等,这将使你的应用程序更容易本地化。非常正确,NSNumberFormatter确实为你提供了最大的帮助控制用于创建字符串的格式。由于问题的上下文,我没有提到这一点。问题是关于显示键“marblesneed”的值,似乎不太可能需要2.3个弹珠或需要2.30欧元的弹珠;在我看来,他只是想显示NSNumber的int值。您也可以使用[myNumber stringValue]无需获取int值NSNumber应该知道如何打印自己,例如[NSString stringWithFormat:@“%@”[[records objectAtIndex:0]valueForKey:@“大理石花纹”]
@sosborn comment更酷,但如果你的格式有点复杂,那么了解我的评论就很方便如果你想对格式有更多的控制,那么你可以使用NSNumberFormatter
这将为你提供本地化格式等,这将使你的应用程序更容易本地化。非常正确,NSNumberFormatter确实为你提供了最大的帮助控制用于创建字符串的格式。由于问题的上下文,我没有提到这一点。问题是关于显示键“marblesneed”的值,似乎不太可能需要2.3个弹珠或需要2.30欧元的弹珠;在我看来,他只是想显示NSNumber的int值。
marblesNeeded.text = [[[records objectAtIndex:0] valueForKey: @"marblesneeded"] stringValue];