如果TextField为空,则设置自定义文本

问题描述:

我有一个textField,其名称为titleTextField,用户可以在保存笔记之前输入自己选择的标题。如果用户将此字段留空,我想要执行的操作是自动填充文本“无标题”。如果TextField为空,则设置自定义文本

我已经尝试了几种解决方案,但它们要么不做任何事,要么将标题始终设置为无标题,即使用户输入了文本。

这是我所得到的最接近,但它仍然不工作的权利:

if(![self.titleTextField.text isEqual:@""]){ 
    self.titleTextField.text = @"Untitled"; 
} 

我的想法是,这将检查titleTextField是否为空,如果是的话,它会填充字段文字“无标题”。我已经尝试在viewDidLoad,viewWillAppearviewWillDisappear中应用此功能 - 我真的不在乎在屏幕加载时或在用户完成页面后是否填充了“无标题”文本;我只希望最终的结果是一个空的标题字段,并保存文本“无标题”。

编码是错误的,还是我只是把它应用在错误的地方?

+1

您的代码设置的文本字段'Untitled'如果当前文本*不是空的。 – rmaddy

解决方案按照你正在寻找的方法是:

if([self.titleTextField.text isEqualToString:@""]){ 
    self.titleTextField.text = @"Untitled"; 
} 

您也可以使用如下:

if([self.titleTextField.text length] == 0){ 
    self.titleTextField.text = @"Untitled"; 
} 
+0

'isEqual:'和'isEqualToString:'一样好。 – rmaddy

+0

谢谢!第二个(与长度参数)工作像一个魅力! – unchainedprey

+0

即使'self.titleTextField.text'为'nil',第二个选项的优点是它可以工作。 – rmaddy