在任何典型的iPhone应用程序中,都会有负责数据加载/解析的模型类。完成数据加载/解析任务后,需要向受影响的控制器通知模型中的更改并相应地更新视图。
在iPhone应用程序开发中有几种监听器/观察者方法。使用以下每种方法的优缺点和原因是什么?
答案 0 :(得分:9)
根据我自己的经验:
<强>团:强>
我在博客上写了关于代理生成的内存管理问题:
http://akosma.com/2009/01/28/10-iphone-memory-management-tips/
<强> NSNotification:强>
<强> KVO:强>
就个人而言,当处理与远程Web服务通信的网络应用程序时,我使用单例数据加载器类(包装ASIHTTPRequest并处理所有序列化和反序列化),当发生某些事件时会弹出通知。这样我可以让app委托自己处理连接错误(弹出警报等,如果需要),每个控制器只关心它想要的响应。
当然,这种方法取决于应用程序,但这种通用架构可能是您自己的代码的起点。