【问题标题】:sending messages from a datasource object to a view objective c将消息从数据源对象发送到视图目标 c
【发布时间】:2012-08-28 13:19:51
【问题描述】:

我有一个自定义的 uiview 子类,它从作为 nsmanagedobject 的子类的数据源获取它需要显示的数据。 nsmanagedobject 子类有什么方法可以保存指向视图的指针?我想这样做,以便视图控制器可以通过询问数据源其视图占用多少空间来获取有关 uiview 帧大小的一些信息。

【问题讨论】:

  • 你的视图控制器应该是中间人。它应该询问数据源有多少数据,获取数据等,并相应地正确分配/格式化/准备 UIView。然后显示 UIView。毕竟这就是它是视图控制器的原因!
  • 这实际上是我想要的。我之前所做的是使用 sizeWithFont 将子视图框架设置为正确的大小以显示文本和数字,然后如果我需要该信息,我只需持有一个指向视图的指针,这样我就可以使用 object.view.frame .width 访问宽度。但是每次返回并重新计算控制器中的这些属性而不是持有指向该视图的指针是有意义的。我将编写一个将对象作为参数并返回一个 CGRect 的方法,该方法将准确显示那么多数据。谢谢!

标签: ios uiview datasource nsmanagedobject


【解决方案1】:

您所描述的设计中的主要缺陷是您有一个 UIView 与数据对象直接通信。这违背了MVC 的基础知识,很可能您可以通过在这两个元素之间引入控制器来实现所需的任何功能。请详细说明您要计算的帧大小以获得更详细的答案。

【讨论】:

    猜你喜欢
    • 2015-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    相关资源
    最近更新 更多