【发布时间】:2010-12-08 18:42:46
【问题描述】:
随着我将越来越多的 UI 构建从 XCode 转移到 IB,我还需要清除一个障碍。
目前,我使用自定义初始化程序在 XCode 中创建自定义视图控制器。它们通常有一堆在初始化期间通过传递的参数设置的 ivars。我真的很想尽可能多地把它转移到 IB。
有人可以仔细向我解释 - 或者,更好的是,指向我的代码 - 如何复制通过 IB 中的自定义初始化程序传递参数的 XCode 方法 - 大概是通过 IBOutlet。
提前致谢。
干杯, 道格
更新:
一个典型的场景是我的 AppDelegate 会去网络,获取一些数据 - NSMutableData,然后传递一个对根 viewController 的引用 - 通常是一个 TableViewController - 它被推送到 navigationController 的 viewController 堆栈上。
当一个单元格被选中时,一个 secondViewController 被分配/初始化并且数据的一个子集被传递给它。 secondViewController 去网络获取更多数据,构建视图层次结构,将检索到的数据的位传递给每个子视图,然后每个子视图通过 setNeedsDisplay 发送消息以处理数据。
我想将这种分层数据传递给 IB 是可能的。
【问题讨论】:
-
ivars都是
NSControl的子类吗?或者它们是来自您应用中其他地方的其他数据? -
据我所知,您在更新中描述的内容在 IB 中是不可能的。
-
我主要处理 NSMutableData、NSMutableString 和 NSMutableArray。不是 NSControl 子类的容器和字符串。我是否应该从您的评论中推断非 NSControl 子类不能是 IBOutlets?
标签: iphone xcode uiviewcontroller interface-builder