最近对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设来设去的,太乱了