[问题] 这样的情况Block or Delegate比较好呢

楼主: powerwolf543 (NixonShin)   2016-01-09 03:32:49
最近对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
作者: zip520123 (SLin HD)   2016-01-09 09:03:00
看得不是很懂...有程式码可以看吗?
作者: NelsonT (.)   2016-01-09 13:35:00
这种架构太可怕了,你需要的是 notification
作者: s001582000 (仁傑)   2016-01-09 15:26:00
我对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到疯掉
作者: santaclub (圣诞青年)   2016-01-09 21:35:00
Block, 回到vc 再从vc叫tvc
作者: Ghosso (居关)   2016-01-12 11:48:00
虽然看不懂问题 不过notification能避免就避免XD
作者: santaclub (圣诞青年)   2016-01-12 17:23:00
用block 做Completehandler啊
作者: vampirewalk (vampire)   2016-01-14 12:02:00
看起来两个ViewController直接KVO Object就可以了不需要block设来设去的,太乱了

Links booklink

Contact Us: admin [ a t ] ucptt.com