最近對Delegate還滿有感覺的
而且也覺得滿好用
但是Block還是有些許陌生
一般來說好像都是放在方法裡面變成一個匿名的方法
還有也能使用proprety或內部變數宣告
最近遇到一個情況一直思考怎麼寫比較好
我有一個ViewController簡稱VC
一個TableViewController簡稱TVC
一個Singleton Object簡稱Object
假設今天我在VC中按了某一個button
觸發了Object的其中一個方法
然後這個方法執行完要觸發TVC reloaddata
我是寫了一個proprety的block在Object中
然後讓TVC去讀去這個block
把reloaddata寫在這個block中
還有另一個是我在Object跑一個NSURLSession
在Task的Block中去更新VC的資料
這邊我是幫Object寫了Delegate
然後讓Task需要更新UI的地方插入Protocol
請問以上兩種情況有沒有比較好的寫法呢
我總覺得這樣設計怪怪的
而且好像很少看到有人把Block寫成proprety
作者:
NelsonT (.)
2016-01-09 13:35:00這種架構太可怕了,你需要的是 notification
我對Block比較有愛 Delegate會因為戶吃就卡住了 = =戶->互
作者:
yuanruo (罪を憎んで人を憎まず)
2016-01-09 16:28:00感覺在singleton裡寫其他VC的block回調 沒稿好就leak了
作者:
EQQD (EQQD)
2016-01-09 19:47:00耦合性太高吧
作者:
NelsonT (.)
2016-01-09 20:48:00你根本就不該這樣用singleton,當你的程式變大,多人修改到這個singleton的機會就變大(看你的提問,我覺得很有可能),到時出現問題你會debug到瘋掉
作者:
Ghosso (居關)
2016-01-12 11:48:00雖然看不懂問題 不過notification能避免就避免XD
看起來兩個ViewController直接KVO Object就可以了不需要block設來設去的,太亂了