我刚刚开始为 iPhone 开发(我已经做了一段时间的 Android 开发人员)并且遇到了一个非常非常简单的任务的问题:更改文本标签的文本。我跟着苹果开发者教程,但是NSString的initWithFormat方法有问题。
问题在于这种方法:
-(IBAction)changeGreeting:(id)sender {
self.userName = self.textField.text;
NSString *nameString = self.userName;
if ([nameString length] == 0) {
nameString = @"World";
}
NSString *greeting = [[NSString alloc] initWithFormat:@"Hello, %@!", nameString];
self.label.text = greeting;
}
当我运行项目时,无论 textField 中有没有值,标签总是设置为 Hello,...
当我将方法的最后一行更改为:
self.label.text = self.userName;
或者:
self.label.text = nameString;
标签显示应该在 initWithFormat 调用中的 %@ 插入的值。注意:我也尝试过使用 stringWithFormat 并且遇到了同样的问题。
谢谢。