Swift:为什么在比较两个字符串时我无法执行以下if语句

时间:2016-10-31 19:51:13

标签: swift xcode macos if-statement

所以我正在开发这个应用程序,其中有一个文本字段,当你在它上面写时,它被带到下一个SecondviewController。但是,如果文本字段上没有写入任何内容,则按"完成"按钮,它应该给你一个错误。

为此,我为NSTextField制作了一个IBOutlet:

@IBOutlet var weblinklabel: NSTextField!

然后这就完成了#39;按钮包含带有以下if语句的IBFunction:

@IBAction func actionWeblinklabel(_ sender: Any) {

    if weblinklabel != "" {
    self.view.window?.close()
    } else {
    label1.isHidden = false
    }

无论webllinklabel中写的是什么,都应该与空字符串进行比较, 如果weblinklabel中有内容,那么它应该关闭当前的viewController,否则它应该给我一个标签(label1)。

当我这样做时,我收到此错误:

Binary operator '!=' cannot be applied to operands of type 'NSTextField!' and 'String'

我的代码出了什么问题。 提前致谢! :)

1 个答案:

答案 0 :(得分:2)

这里的问题是您要将NSTextField本身与字符串""进行比较。

要访问NSTextField内的文字,您必须weblinklabel.stringValue