使用对象而不是 AppDelegate 进行出口和操作?

Posted

技术标签:

【中文标题】使用对象而不是 AppDelegate 进行出口和操作?【英文标题】:Using object instead of AppDelegate for Outlets & Actions? 【发布时间】:2011-02-19 17:34:43 【问题描述】:

在所有 MonoTouch 示例中,我看到每个人都在 AppDelegate 上使用插座和操作,但是当我通过一些 Objective-C 网络广播时,我看到人们使用他们在 Interface Builder 中拖动到 XIB 上的对象并使用它(似乎干净多了)。有没有办法引用我们创建的任何对象?是否有特定的访问方式?

任何建议将不胜感激,

谢谢

【问题讨论】:

【参考方案1】:

当然可以。

    在 Interface Builder 中将对象拖到 xib 中。 在 Identity Inspector 的 Class Identity 部分中,将类名的类型设置为您想要的任何类型。 在图书馆的课程部分下,选择您的课程并添加您想要的任何出口。 添加 UI 对象并正常连接您在 xib 中添加的实例的插座。 将您的类添加到 MonoDevelop 并使其成为从 NSObject 派生的部分类。 出口将位于 xib 的 .designer.cs 文件中部分类的生成部分中 在您的类中添加任何代码以与指向 Interface Builder 中添加的对象的 outlet 交互

我添加了一个小示例here,它创建了一个名为“SomeClass”的类,该类通过 xib 实例化,以及 UILabel 的出口,UILabel 的文本设置在我在 MonoDevelop 中添加的 SomeClass 文件中.

【讨论】:

这是一次很棒的演练,我非常感谢示例代码。非常感谢! 我当然很笨,但我在库中找不到类部分。我只能看到“文件模板库”、“代码片段库”、“对象”、“媒体库”:(我最终用文本编辑器修改了 xib 文件以添加出口……我在做什么错? 【参考方案2】:

不,没有其他方法可以从 Interface Builder 访问对象。即使是那个对象也需要一个插座来连接。

【讨论】:

以上是关于使用对象而不是 AppDelegate 进行出口和操作?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AppDelegate.cs 中使用带有插座的单独 XIB 的 UIViewController?出口始终为 NULL

iOS使用UIManagedDocument添加初始核心数据文件,而不是appdelegate

IOS存档是不是加密对象

在 AppDelegate 中调用 buildMenu 而不是 UIViewController

UITabBar 自定义背景图像应用于一个视图控制器而不是 AppDelegate

自定义标头有 nil 出口