【问题标题】:NSString not showing in UILabelNSString 未显示在 UILabel 中
【发布时间】:2014-03-12 05:20:06
【问题描述】:

我的 NSString 没有显示在我的 UILabel 中。

- (void)viewDidAppear:(BOOL)animated {

    [super viewDidAppear:YES];

    PFUser *user = [PFUser currentUser];
    NSString *schoolString = user[KEY_SCHOOL];
    NSLog(@"%@", schoolString);
    school.text = [NSString stringWithFormat:@"%@", schoolString];

}

NSLog 确实返回了一个有效的结果。我的标签在 IB 和所有内容中都已正确连接。

非常奇怪的错误。

【问题讨论】:

  • 我在您的代码 sn-p 中没有看到任何看起来像 UILabel 的东西。你在哪里设置你的 UILabel?
  • 你也上过 NSLog 学校吗?
  • school 对象似乎是 UILabel,但请确保它在 viewDidAppear: 之前初始化,否则 school 对象将为 nil,您将尝试在 nil 对象上设置文本。
  • 检查标签的框架以确保它没有离开屏幕(一旦你确认它不是nil)。
  • 请注意,您以错误的方式调用[super viewDidAppear:],您不应该传递YES,但您应该传递适当的值,即animated 参数本身。像这样:[super viewDidAppear:animated]

标签: cocoa-touch nsstring uilabel


【解决方案1】:

确保您已为此 UILabel 连接了 IBOutlet。检查 UILabel 是否启动。 尝试 NSLog school

【讨论】:

  • 如我所说,IBOutlet 已连接。
  • 尝试打印 UILabel。
【解决方案2】:

由于您的NSLog 没有返回有效结果,这意味着您设置schoolString 的值无效(可能为零)。这可能是您的 PFUser 对象的问题。确保 user[KEY_SCHOOL] 返回您想要的结果。

也许您需要改用[user objectForKey:KEY_SCHOOL]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 2014-09-07
    • 1970-01-01
    相关资源
    最近更新 更多