2015-07-10 64 views
-1

如何從UIAlertAction內引用selfSwift:單擊更改UIAlertAction標題

refreshAlert.addAction(UIAlertAction(title: "Ok", style: .Default, handler: { (action: UIAlertAction!) in 
     // self.title = String("HELLO") 
     print("Handle Ok logic here") 
    })) 

我想讓UIAlertAction的標題在點擊時(以及其他事物)發生變化。如何在命令中引用我自己在點擊時做什麼?

我如何讓它在那裏點擊一個UIAlertAction如果您想從自己的處理程序訪問UIAlertAction對象不關閉警報操作

+0

當點擊按鈕時,您無法防止'UIAlertController'解除關閉。 – rmaddy

回答

1

,只需使用提供action參數傳遞給操作處理程序塊。

但是,由於title參數是隻讀的,所以無法更改操作的標題。

但是,無論如何,甚至沒有理由甚至改變標題,因爲在點擊任何警報動作按鈕時警報總是被解散。

0

UIAlertController的title屬性是隻讀的。你不能分配任何東西。但是,您可以處理該代碼以使用此代碼。

var propTitle:String = "BYE" // it's property of class 

func method(){ 
    refreshAlert.addAction(UIAlertAction(title: propTitle, style: .Default, handler: { (action: UIAlertAction!) in 
     self.propTitle = "HELLO" 
    })) 
}