【发布时间】:2014-09-19 03:56:25
【问题描述】:
ARC 不允许将“NSInteger”(又名“int”)隐式转换为“UILabel *” 好的,这就是我想要做的 - 我正在关注 youtube 上的教程,我在 Xcode 的故事板上的 ViewController 上有一个标签,并试图使用标签在第一个屏幕(视图控制器)上保持“高分”和.text(见下文):
HighScore =[[NSUserDefaults standardUserDefaults] integerForKey:@"HighScoreSaved"];
HighScore.text = [NSString stringWithFormat:@"High Score: %li", (long)HighScore];
我确实在我的 .h 文件中声明了 NSInteger = HighScore,它已包含在内,但我仍然收到“隐式转换”错误报告。有什么线索吗?
【问题讨论】:
-
高分是整数吧?整数没有文本属性。第二行需要有你的标签 property.text 的名称而不是 HighScore.text
-
你能举个例子吗?
-
@rdelmar 基于消息:“'NSInteger'(又名'int')到'UILabel *'的隐式转换”这意味着
HighScore是UILabel,因为消息意味着该代码试图在发布的代码的第一行将NSInteger(来自integerForKey:调用)分配给UILabel *(HighScore)。 -
天哪,我的坏人我偶然将 UILabel 和 NSInt 命名为同一个东西,所以我想你们都是对的
标签: objective-c memory nsinteger