【问题标题】:Error from NSString to UILabel xcode从 NSString 到 UILabel xcode 的错误
【发布时间】:2012-09-24 19:31:53
【问题描述】:

我的脚本有错误,它不起作用。但我不知道如何改变它。 我正在使用 2 个视图,我想使用 if/else 从第一个视图更改第二个视图上的 favoriteColorLabel 上的文本。 如果有人知道问题,请帮助我。 钍 我的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

   if(indexPath.row==1) {
        DetailVC.favoriteColorLabel=@"Bonjour"; 

    DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
    dvController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    [self presentModalViewController:dvController animated:YES];      

}
}

谢谢。

【问题讨论】:

  • 错误在哪里?错误是什么?
  • 任何答案都解决了您的问题吗?如果是这样,请接受一个以帮助未来的网站访问者,如果他们有同样的问题。

标签: iphone xcode view sdk tableview


【解决方案1】:

我认为错误在这一行:

DetailVC.favoriteColorLabel=@"Bonjour";

您实际上很可能希望像这样设置标签的 text 属性:

DetailVC.favoriteColorLabel.text=@"Bonjour";

这是因为text 属性是标签在屏幕上显示的文本。您将实际的 UILabel 对象设置为 NSString 文字,这可能不是您想要做的。

【讨论】:

    【解决方案2】:

    您正在将 Text 设置为标签这就是您在代码中遇到错误的原因。

    你需要这样做:

    labelname.text = @"String";
    

    那么您的问题将得到解决。

    希望它有效。

    【讨论】:

      【解决方案3】:

      我会考虑在第二个视图中从第一个糟糕设计中的方法设置标签,并且容易出错。

      我要做的是给您的详细视图控制器一个property,即NSString *。从第一个控制器创建详细视图控制器后,将文本 @"Bonjour" 传递给该属性(通过使用其 setter 方法),然后您可以显示详细视图控制器。第二个视图控制器可以查看其字符串的值并相应地设置标签。

      详细视图控制器用于管理自己的视图,它不应该需要您首先使用视图控制器来管理屏幕上的内容。

      【讨论】:

        猜你喜欢
        • 2014-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-30
        • 1970-01-01
        • 1970-01-01
        • 2014-05-19
        • 1970-01-01
        相关资源
        最近更新 更多