我有一个UITextView
,用户可以填写文本(并且该应用程序退出后文本仍然存在)。我想在空视图上放置一个标签(当没有文字时)以帮助用户理解,他可能想点击这里并添加文字。我的问题是,我无法弄清楚如何检查textView.text
是否为空。这就是我的尝试:
if (self.descriptionTextView.text != nil){
isInformed = YES;
NSLog(@"here is text");
} else {
isInformed = NO;
NSLog(@"no text");
}
isInformed
是一个布尔值,我想用它来指示descriptionTextView
字段为空的位置。不知何故,"here is text"
总是在控制台中显示,即使视图中没有文本也是如此。为什么会这样?如何正确检查?
任何建议都将受到赞赏。
答案 0 :(得分:4)
您还应检查文本是否等于@""
,这只是一个空字符串。
您可以通过以下方式解决此问题:
if (self.descriptionTextView.text.length > 0){
// Do stuff for text
} else {
// Do stuff for nil text or empty string
}
答案 1 :(得分:4)
这是一个更简单的解决方案,它将考虑nil和@“”条目:
if (self.descriptionTextView.text.length > 0){
isInformed = YES;
NSLog(@"here is text");
} else {
isInformed = NO;
NSLog(@"no text");
}
只需检查输入的文本长度是否大于零,即可知道文本视图不为空。
答案 2 :(得分:2)
尝试:
if ([self.descriptionTextView.text length] > 0){
// Log something for a text length greater zero
} else { // Log something for an empty string
}