当前位置:  开发笔记 > IOS > 正文

是否有一个易于理解的指南(Cocoa,Xcode等新手册),用于讨论代理对象的Interface Builder?

如何解决《是否有一个易于理解的指南(Cocoa,Xcode等新手册),用于讨论代理对象的InterfaceBuilder?》经验,为你挑选了1个好方法。

早在C/C++的那一天,真正让我兴奋的语言部分就是指针.当然,我现在明白了.

现在,Interface Builder代理对象或更重要的是,如何使用Interface Builder以及放置在给定XIB的.XIB窗口(包含文件所有者,第一响应者等的窗口等)中的内容.

我在Xcodes示例和网络上找到的书籍和样本中都有很多例子.他们一直很有帮助,但我仍然觉得有些失落.

我觉得理解IB对于理解如何编写Mac/iPhone/iPod touch应用程序非常重要.

到目前为止,我已经完成了以下资源:Aaron Hillegass'用于Mac OS X的Cocoa编程实用程序员资源:在Xcode中成为生产者(截屏视频)Objective-C 2.0中的可可编程编码(screncast)编写您的第一个iPhone应用程序(截屏视频)iPhone SDK开发

我还浏览了Apple的Interface Builder用户指南PDF.

任何建议的提示/资源将不胜感激!



1> Jon Hess..:

首先,占位符在这里比代理更好.

通常,当您在NIB/XIB文件中有对象时,这意味着加载NIB文件将创建该实例.占位符对象是加载NIB文件时已存在的对象,它们出现在NIB内部,以便您可以通过加载NIB和已存在的对象来创建将要创建的对象之间的连接.

文件的所有者,第一响应者和应用程序都是占位符.

文件的所有者是将加载nib的对象的占位符.所有NIB加载方法都采用'owner'参数.当您与文件所有者建立连接时,当它在运行时建立时,它将连接到传递给nib加载方法的所有者对象.许多UIKit和AppKit类为您调用nib加载方法.NSApplication,NSViewController,NSWindowController,UIApplication,并UIViewController代表所有负载NIB文件.当他们这样做时,他们将self作为所有者参数传递给nib加载方法.这就是为什么当您使用视图控制器或窗口控制器时,您将文件的所有者设置为子类,并在视图和文件所有者之间建立大部分连接.

NSApplication实例是一个简单的占位符[NSApplication sharedApplication].这是一个全局单例,Interface Builder中的图标代表全局单例.加载NIB文件不会创建第二个NSApplication实例.相比之下,当NIB文件包含一个窗口时,如果你加载它十几次,你将有十几个窗口实例,但仍然只有一个NSApplication实例.

第一响应者是独一无二的.将动作连接到第一响应者意味着当动作被触发时,它应该动态地发送到响应者链.响应者链通常以聚焦视图开始,并继续向上通过视图层次结构并包括一些控制器和委托.链中的每个对象都有一个处理动作的镜头.菜单项与响应链相结合.如果你有一个"Make Bold"的菜单项,它应该使当前选中的文本变为粗体,你可以先把它连接到一个NSApplication子类,但是你必须知道"Make Bold"的所有情况.适用,以及如何处理它们.文本视图和可编辑的Web视图可能需要不同的代码来处理"make bold"并在一个对象中装箱这将变得非常复杂并且不会非常可扩展.相反,您可以将"Make Bold"菜单项的操作连接到makeBold:First Responder上的操作.这意味着当选择菜单项时,焦点对象或其响应的父节点之一makeBold:将获得该makeBold:消息.现在,许多类可以实现一个makeBold:方法,并在它们处于焦点时响应此菜单项.

推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有