`
Zhongwei_leg
  • 浏览: 552188 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

如何理解 File's Owner 与 First Responder

阅读更多

文章转载自 大象笔记

 

http://www.sunzhongwei.com

 

 

*** xib 文件是什么的缩写? 作用是什么? ***

.xib 文件存储 Interface Builder 布局。

 

NIB 和 XIB 都是 Interface Builder 的图形界面设计文档。引用《Cocoa Programming for Mac OSX》一书的说法,Interface Builder 把窗口、菜单栏以及窗口上的各种控件的对象都“冻结”在了一个 NIB文档里面了;程序运行时,这些对象将会“苏醒”。

 

简单地说,就是xib和nib都是一些对象的描述,而前者是xml格式,后者是一种二进制格式。二者的使用上没有什么区别,xcode/IB是两种格式都支持的。 xib比nib有个很明显的好处,就是xib可以很方便地进行diff操作。xib是文本文件,所以在版本控制方面比nib有优势。可能有人会说,反序列化的时候,xib肯定比nib慢很多吧。这个不需要担心的,因为在build的时候,xcode会把xib都转换为nib。最终用户使用的将会是nib内容,而不是xib。

 

*** Interface Builder 中的 File's Owner 和 First Responder 的作用分别是什么?***

File's Owner 表示视图控制器。用来关联 IB 中的 outlet (textfield, label)与实例变量(library classes 中定义)的关联。 First Responder 表示当前响应用户触摸的屏幕上的对象。在应用程序生命周期内, First Responder 在用户与屏幕交互时变化。例如,假设有一个表单。当用户触摸表单中的某个文本域时,那个文本域将成为活动文本域,并担当 First Responder 的角色。

 

*** 在一个事件相应的最后为什么要加上这句? ****

[field2 resignFirstResponder];

Notifies the receiver that it has been asked to relinquish its status as first responder in its window.

即,当前文本框完成显示任务后,告诉 receiver,“哥以完成任务,请求辞去 First Responder 的职务”

 

参考:

NIB 和 XIB 的区别

http://www.cocoachina.com/macdev/cocoa/2010/0326/844.html

 

xib和nib

http://www.surfchen.org/archives/393

 

XCode 自带帮助文档

 

分享到:
评论
2 楼 magicalboy 2012-03-21  
lich0079 写道
filer'owner 不一定是什么viewcontroller 
[[NSBundle mainBundle] loadNibNamed:@"UnitTableCell" owner:self options:nil]
IB里面创造都是一些对象  filer'owner意思是这些对象创建出来后要挂载到那个对象里面

1 楼 lich0079 2011-07-01  
filer'owner 不一定是什么viewcontroller 
[[NSBundle mainBundle] loadNibNamed:@"UnitTableCell" owner:self options:nil]
IB里面创造都是一些对象  filer'owner意思是这些对象创建出来后要挂载到那个对象里面

相关推荐

    SQL-Server-First-Responder-Kit:sp_Blitz,sp_BlitzCache,sp_BlitzFirst,sp_BlitzIndex和其他SQL Server脚本,用于运行状况检查和性能调整

    SQL Server急救包 导航常用脚本:性能调优...) First Responder Kit运行于: Windows上SQL Server 2012、2014、2016、2017、2019-完全受支持。 Linux上SQL Server 2017、2019-是的,除sp_AllNightLog和sp_DatabaseRest

    解析iOS开发中的FirstResponder第一响应对象

    在实际开发中,理解和掌握FirstResponder的概念和使用是至关重要的,它可以帮助我们更好地处理用户交互,实现诸如键盘弹出、手势识别等功能。正确管理第一响应对象,可以提升应用的用户体验和功能的灵活性。

    内网渗透之Responder攻防(上)1

    "内网渗透之Responder攻防(上)" Responder 是一种欺骗工具,广泛应用于内网渗透攻击中。它可以欺骗受害机器,使其发送 NTLM V2 Hash,从而获取受害机器的认证信息。本文将详细介绍 Responder 的原理和使用方式。 ...

    Laravel开发-laravel-responder

    **Laravel 开发与 Laravel Responder** 在 Laravel 开发中,构建高质量的 API 是一个重要的环节,这通常涉及到数据的格式化、响应处理以及错误管理等。`laravel-responder` 是一个专为 Laravel 设计的包,它将 ...

    Advanced_First_Responder_Premium_v6.1.2.apk

    •可以根据需要重播许多次,以使您理解内容,为参加认证课程做准备。 •随着法规和技术的变化,此应用程序将被更新,并且将通过电子邮件发送给您,您可以免费下载新内容。 •较少需要随身携带笨重的手册或培训材料或...

    iPhone开发入门

    开发者可以将File's Owner设置为拥有界面文件的类,并可以将界面元素与File's Owner的属性和方法关联起来。当nib或xib文件被加载时,File's Owner的实例会被创建,并负责管理这些界面元素。 另一位重要的对象是...

    Laravel开发-api-responder

    10. **文档生成**:为了便于其他开发者理解和使用API,API-responder可能有与Swagger或apidoc.js等工具集成的能力,自动生成清晰的API文档。 通过使用像“api-responder-master”这样的工具,开发者可以专注于业务...

    Laravel开发-responder

    在Laravel框架中,"Responder"通常指的是一个用于构建API响应的组件,它可以帮助开发者更加优雅地处理HTTP响应。在本案例中,我们关注的是"Laravel...这个过程不仅提高了开发效率,也使得API的结构更易于理解和使用。

    PyPI 官网下载 | responder-0.1.2.tar.gz

    响应者(Responder)是一个基于Python的轻量级Web框架,专为快速开发API和服务而设计。这个名为"responder-0.1.2.tar.gz"的压缩包是该框架的一个版本,可以从Python的官方包索引PyPI(Python Package Index)上下载...

    Api-laravel-responder.zip

    Api-laravel-responder.zip,一个用于构建api响应的laravel分形包,它赋予了你分形与laravel优雅的力量。laravel响应器是一个用于构建api响应的包,将分形集成到laravel和lumen中。它可以使用transformers转换数据,...

    Python-Responder一个熟悉的PythonHTTP服务框架

    而与 Django 相比,Responder 更轻量级,适合快速开发小到中型的 Web 应用。 **四、实际应用与案例** Responder 适用于构建 RESTful API、微服务,以及快速原型开发。例如,你可以使用它来构建一个简单的用户注册...

    First-Responder_app

    闪耀的气Shine the Chi 为芝加哥市民提供了一个移动界面,可以直接从该市提出和查看 311 服务请求。 它使用谷歌地图 API 以及芝加哥 Open311 API 来标记位置并提交请求。 Shine the Chi 是使用 Ruby on Rails 和 ...

    Eight-way-Responder.rar_Responder_eight

    【标题】"Eight-way-Responder.rar_Responder_eight" 提供的是一个单片机实验项目,专注于实现一个八路抢答器的系统。这个系统基于C语言编程,旨在帮助学习者理解和掌握单片机控制技术,以及在实际应用中的电路设计...

    4 way’s competition responder .pdf

    在本实验报告中,学生张宜千来自北京交通大学1802班,进行了基于74...四人答题器的设计体现了数字电路中的锁存、逻辑判断和状态控制等核心概念,是数字系统教学中的一个重要实践环节,有助于深化理论知识的理解和应用。

    MbSwiftUIFirstResponder

    name , firstResponder : $firstResponder, resignableUserOperations : . all ) TextEditor ( text : $notes) . firstResponder ( id : FirstResponders. notes , firstResponder : $firstResponder, ...

    前端开源库-primus-responder

    ** Primus Responder:前端通信库的解析与应用** Primus Responder 是一个专为前端开发者设计的开源库,主要用于实现请求响应机制以及通过WebSockets进行高效、实时的双向通信。在现代Web应用程序中,实时性是必不...

Global site tag (gtag.js) - Google Analytics