2015-05-29 25 views
2

我需要指定一個我想要更新文本的textView。我曾嘗試以下:在Swift中命名或標記UITextViews?

func updateView(message: String) { 
    var textView2 = UITextView.viewWithTag(2) 
    textView2.text = message 
} 

但我收到此錯誤:

type 'UIView' does not conform to protocol 'IntegerLiteralConvertable

+0

'viewWithTag'必須被送到上海華。這是一個實例方法,而不是一個類方法。 – Rob

回答

3

你做錯了。你正在嘗試獲取textview的子視圖,這是不正確的。相反,您應該查詢superview的UITextView。它應該是:

func updateView(message: String) { 
    var textView2 = self.view.viewWithTag(2) as UITextView; 
    textView2.text = message 
} 
+0

我不知道這件事。 +1好答案 –

+0

謝謝@AshishKakkad :) – NightFury

3

在急速的,你必須強制轉換,而且你必須提供上海華

var textView2 : UITextView? = self.view.viewWithTag(2) as? UITextView; 

所以,你的功能應該是這樣的: -

func updateView(message: String) { 
    var textView2 : UITextView? = self.view.viewWithTag(2) as? UITextView; 
    textView2.text = message 
}