2015-02-06 58 views
0

我使用了很多UIAlertViews,現在我只想要一個自包含的類,它顯示帶有Yes/No按鈕的UIAlertView。這是我在代碼的想法:iOS你確定對話框

[DXPopUp areYouSure:@"SOME MESSAGE HERE" callback:^(BOOL isSure) { 
    ... do something ... 
}]; 

這種方法的問題是內部DXPopUp委託:

- (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 

不會被調用,因爲自引用已經走了,我明白了。所以我通過使其成爲一種方法而不是類方法來解決此問題,並在調用類中創建一個強引用。

但是我想知道我的第一個想法是否可以實現,因爲我覺得這更清潔?

+1

我有一個類似的問題早,收到了一些非常好的答案(http://stackoverflow.com/questions/14669566/how-to-access-user-input-from-uialertview-completion-block -without授)。同樣在iOS8 +中,您可以使用內置的UIAlertController,它非常好地使用閉包。 – 2015-02-06 14:20:07

+0

有兩個問題:你如何初始化UIAlertView以及用於委託它?總之:請添加更多相關的代碼。 – 2015-02-06 14:24:25

+0

使用UIAlertController .....它默認使用UIActions塊。沒有代表需要。此外,UIAlertView在iOS 8中已棄用。 – 2015-02-06 14:25:23

回答

1

是的,你可以做到這一點上創建一個UIAlertView中類別和使用的類別相關對象:Associated Objects

與塊創建UIAlertViews看到這個庫。

UIAlertView+Blocks

+0

謝謝!我覺得這很愚蠢,因爲我應該知道這一點;)! – Haagenti 2015-02-06 14:29:55