我需要在编辑字段时恢复NSTextField的旧内容,现在它是空的。
我正在显示一个弹出窗口,说该字段不能为空。当场失去焦点时触发该方法:
- (IBAction)checkTitleField:(id)sender
{
if ([[titleField stringValue] isEqualToString:@""]) {
NSAlert * alert = [NSAlert alertWithMessageText:@"Title can't be empty"
defaultButton:@"OK"
alternateButton:nil
otherButton:nil
informativeTextWithFormat:@"Please enter a title."];
[alert beginSheetModalForWindow:self.window
modalDelegate:self
didEndSelector:nil
contextInfo:nil];
return;
}
}
但是,当弹出窗口被解除时,我无法恢复该字段的先前内容。
由于
答案 0 :(得分:1)
您可以在查看加载时(以及每当创建新的有效条目时)将最新接受的值存储在NSString变量中,并且只要检测到空白条目,就可以将NSTextField文本值设置回此值。
答案 1 :(得分:0)
最好的事情是使用NSTextFormatter
答案 2 :(得分:0)
考虑将UITextField placeholder property
与VeryVito的建议结合使用。只要textfield为空,它就会显示在文本字段中。另外,我发现if ([[titleField stringValue] isEqualToString:@""])
在检测空文本字段时不可靠。有关解决方案,请参阅此帖子:How to test a UITextField for being nil?