所以我正在为Mac开发这个应用程序,我正在使用Swift。我正在学习+并肩开发应用程序。我有主viewController,当你按(+)按钮时,它会打开另一个带有textfield的viewcontroller。现在我有两个按钮,一个说“完成”,另一个说“取消”。如果按取消,viewController将解除。但是,如果按“完成”,则在该文本字段中添加的任何内容都将出现在第一个ViewController中。
我想在“完成”按钮上运行if语句。因此,如果你没有在文本字段中写任何内容并按下完成,它会给你一个错误,如果你写了一些东西,那么它允许你按下Done并且它会解散!
我为文本字段创建了一个IBOutlet:
@IBOutlet var weblinklabel: NSTextField!
然后,存储在weblinklabel中的任何内容都存储在另一个变量中:
weblinklabel.stringValue = done!
显然,“done”是一个可选的字符串变量,分配如下:
var done: String? = ""
现在在我的理解中,“done”变量如果为空则应该给出错误,在这种情况下,该错误是最初显示自身(最近是isHidden = false' in viewdidload()
)函数的标签。
这是我尝试使用的“if-statement”:
if done != nil {
self.view.window?.close()
} else {
label1.isHidden = false
}
我认为此代码的放置不对。我将它放在“完成”按钮的IBAction下。
在这方面的任何帮助,将不胜感激!感谢
答案 0 :(得分:0)
最简单的方法是使用类似于我在另一个回复here中解释的方法。
基本上,如果文本字段的内容为“正确”,则会检入controlTextDidChange(notification:)
,如果不是,则禁用Done
按钮。相反,如果文本字段显示有效,则启用它。