2017-01-20 3 views
-5

このコードは私にここでエラーを与えています。申し訳ありません、私は初心者です。私は、テキストフィールドに「hi」と入力すると、ラベルに「hello」という応答を与えるというアプリを作りたいと思っています。swift 3 textlabel text is true

import Cocoa 

class ViewController: NSViewController { 


    @IBAction func label(_ sender: Any) { 

    } 
    @IBAction func sendBtn(_ sender: Any) { 
     if label.text == "hi" { 
      txtOutput.text = "hello!" 
     } 
    } 
    @IBAction func txtOutput(_ sender: Any) { 

    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     // Do any additional setup after loading the view. 
    } 

    override var representedObject: Any? { 
     didSet { 
     // Update the view, if already loaded. 
     } 
    } 
} 
+0

どこにエラーがあると、それは何と言っていますか? –

+0

こんにちは、歓迎ですが、これは少し広すぎるかもしれないと恐れています。これは、QAサイトのほうが「教える方法を教えてください」と思うかもしれません:)おそらくコードレビュースタック交換や見てみてくださいチュートリアル。 –

+1

私はあなたがすでに使用している2つのIBOutlet varsを見逃していると伝えます。残りはすべてIBで実行可能です。 –

答えて

0

txtOutput@IBOutletとして接続する必要があり、@IBAction@IBAction

としてあなただけのいくつかのアクションをトリガしませんが、あなたは、あなたが参照を取得@IBOutlet

オブジェクトへの参照を得ることはありませんこのオブジェクトの.textのようなプロパティにアクセスすることができます

あなたはconnectio iOS用のIBからのコード

にnsがあなたのコードは

@IBOutlet var txtOutput: UILabel! 
// or 
@IBOutlet weak var txtOutput: UILabel! 

(あなたがNSViewControllerを使用するので、それはそれのためのCocoaオブジェクトでなければなりません)のように見えるが、単にコードを変更いけないしなければなりません。ダブルチェックこの接続はまたInterfaceBuilder

にラベルに割り当てられている場合

更新

今あなたがテキストを設定することができます

txtOutput.stringValue = "Hello" 
+0

エラーを修正しませんでした。エラーはタイプAny()の値です - >メンバーtxtはなく、タイプNSTextFieldの値はメンバーtxtを持ちません。 @IBAction関数を変更しましたtxtOutput(_送信者:任意){ }(〜)IBOutlet weak var txtOutput:NSTextField! –

+0

あなたのinitalの質問にdefailedエラーメッセージを含める必要があります! – muescha

+0

はコードを変更するだけではなく、インタフェースビルダーからの接続も変更します – muescha