从 NSString 到 UILabel xcode 的错误
Posted
技术标签:
【中文标题】从 NSString 到 UILabel xcode 的错误【英文标题】:Error from NSString to 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];
谢谢。
【问题讨论】:
错误在哪里?错误是什么? 任何答案都解决了您的问题吗?如果是这样,请接受一个以帮助未来的网站访问者,如果他们有同样的问题。 【参考方案1】:我认为错误在这一行:
DetailVC.favoriteColorLabel=@"Bonjour";
您实际上很可能希望像这样设置标签的 text
属性:
DetailVC.favoriteColorLabel.text=@"Bonjour";
这是因为text
属性是标签在屏幕上显示的文本。您将实际的 UILabel 对象设置为 NSString 文字,这可能不是您想要做的。
【讨论】:
【参考方案2】:您正在将 Text 设置为标签这就是您在代码中遇到错误的原因。
你需要这样做:
labelname.text = @"String";
那么您的问题将得到解决。
希望它有效。
【讨论】:
【参考方案3】:我会考虑在第二个视图中从第一个糟糕设计中的方法设置标签,并且容易出错。
我要做的是给您的详细视图控制器一个property
,即NSString *
。从第一个控制器创建详细视图控制器后,将文本 @"Bonjour"
传递给该属性(通过使用其 setter 方法),然后您可以显示详细视图控制器。第二个视图控制器可以查看其字符串的值并相应地设置标签。
详细视图控制器用于管理自己的视图,它不应该需要您首先使用视图控制器来管理屏幕上的内容。
【讨论】:
以上是关于从 NSString 到 UILabel xcode 的错误的主要内容,如果未能解决你的问题,请参考以下文章
如何将 NSString 对象中的字符转换为 UILabel 对象?
匹配 NSString 和 UILabel 的文本 [重复]
iPhone:如何将 NSString 拆分为多行并将其设置为 UILabel? [复制]
根据NSString字符串长度自动改变UILabel的frame
numberOfLines=2 的 UILabel 使用啥约束高度? (使用 [NSString sizeWithFont...])