2016-10-31 1 views
-1

私はこのアプリケーションを開発しています。そこにはテキストフィールドがあり、書き込みすると次のSecondviewControllerに移動します。ただし、テキストフィールドに何も書き込まれていない場合に「完了」ボタンを押すとエラーになります。この私が、このようNSTextFieldのためにIBOutletをしたためにSwift:なぜ2つの文字列を比較すると次のif文を実行できないのですか

@IBOutlet var weblinklabel: NSTextField! 

は、この「行って」ボタンが付きIBFunctionが含まれている以下のif文:で書かれているものは何でも

@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' 

は、私は私のコードで間違って何をしています。 ありがとうございます! :)

答えて

2

ここでの問題は、NSTextField自体を文字列""と比較していることです。

NSTextField内のテキストにアクセスするには、weblinklabel.stringValueを実行する必要があります。

+0

ありがとうございます!そんな簡単なことがなかった! –

関連する問題