使用对象而不是 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
在 AppDelegate 中调用 buildMenu 而不是 UIViewController