首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >何时发布相应UIViewController的模型(UIViewController)

何时发布相应UIViewController的模型(UIViewController)
EN

Stack Overflow用户
提问于 2010-04-11 06:27:56
回答 1查看 475关注 0票数 0

在AppKit中,我们通过NSViewController提供了" representedObject“,这个representedObject通常设置为ModelController或NSViewController显示的模型,这对绑定非常有用,因为您刚刚设置了新的representedObject,模型的详细信息在视图中被更新,但是对于iPhone (UIKit,没有Cocoa绑定),UIViewController中没有这样的representedObject,所以这里有一些我感兴趣的事情:

最好的/推荐的将模型绑定到application.的方法是什么?最好不要维护大量的IBOutlets并调用设置器来更新更改的模型数据以供查看。

  • 如何/何时发布UIViewController的相关模型?在典型的iPhone

  • 中,-[UIViewController dealloc]何时被调用?

我正在寻找一些类的架构,以便视图和模型之间的UIViewController坐标,但同时,在不需要的时候释放模型。

蒂娅。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-11 09:12:21

这是Cocoa绑定的大问题,它隐藏了很多非常容易的事情。

当保留计数达到0时调用dealloc。对于一个视图控制器,当其他控制器已经释放并且它没有任何其他保留时,就会发生这种情况。如果您正在按照规则进行内存管理,那么您不应该担心这一点。

为您的模型对象创建一个属性,如果您想进入抽象级别,则创建一个模型控制器。正确使用该属性(就像总是使用self.model接收任务),并在dealloc实现中释放对象,并在viewWillUnload中将其设置为零。属性为您创建访问器。

至于在不需要的情况下发布您的模型,上面的内容将为您处理--没有必要过高地考虑它。如果您正在创建大量的数据结构,那么您可以考虑在viewWillAppear中构建它们,并在上面的viewWillDisappear中分解它们。

与绑定相比,您需要更多的出口和胶水代码;但是要管理绑定,您需要编写的代码要少得多。请记住,iPhone应该是一个功能不太强大的设备,您应该更多地关注资源--而UIViewController api为您提供了这样做的机会。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2616231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档