2017-01-20 2 views
-5

이 코드는 여기에 오류가 있습니다. 미안, 난 초보자 야. 나는 텍스트 필드에 'hi'라고 입력하면 라벨에 '안녕하세요'라는 응답을 보냅니다.신속한 3 textlabel 텍스트입니다.

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 당신의 코드는 수 (당신이 NSViewController를 사용하기 때문에 그것을위한 코코아 객체이어야 함)

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

같이해야하지만 단지 코드를 변경 해달라고. 한 번 확인이 연결은 인터페이스 빌더에서 레이블에 할당되어있는 경우

당신이 텍스트를 설정할 수 있습니다 지금

업데이트 :

txtOutput.stringValue = "Hello" 
+0

오류를 수정하지 않았습니다. 오류는 Any() - 유형의 값입니다. txt 멤버가없고 NSTextField 유형의 값에는 멤버 txt가 없습니다. @IBAction 함수를 변경했습니다. txtOutput (_ 보낸 사람 : 모두) { } (~) IBOutlet weak txtOutput : NSTextField! –

+0

오류 메시지에 오류 메시지를 포함시켜야합니다. – muescha

+0

코드 만 변경하면 안됩니다. 인터페이스 빌더 – muescha