iOS SDK 4.3 学习笔记 iPhone101 (03)

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 08:21 点击:

关于 Connection

 
Connection 对我来说也是一个新概念。
 
我的理解是这样的:
 
nib 文件中包含了所有的界面对象,但是这些对象响应用户的操作是在 .m 文件中的,这样就需要一种机制,把 nib 文件中的对象和 .m 文件中的方法及变量联系起来,这就是 connection 的作用。
而我们在创建 connection 的时候,也同时在 .m 和 .h 文件中增加了相应的内容。 .h 和 .m 中的内容比较好理解,这里就不提了。 nib 文件中的内容是我比较感兴趣的部分。
 
先以按钮行为为例。
在 nib 文件中,有这样一段:
<object class="IBCocoaTouchEventConnection" key="connection">
   <string key="label">changeGreeting:</string>
   <reference key="source" ref="834966934"/>
   <reference key="destination" ref="372490531"/>
   <int key="IBEventType">7</int>
</object>
这是描述 changeGreeting 这个行为的。其中的 source 是 834966934 ,destination 是 372490531 。
我们可以找到:
<object class="IBUIButton" id="834966934">
这样我们就清楚 source 是个按钮了。
我们还可以找到:
<object class="IBProxyObject" id="372490531">
   <string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
   <string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
这样我们就清楚 destination 是 IBProxyObject,也就是 IBFilesOwner。(我的理解是,这个就是 myViewController 。)
 
TextField 和 Lable 有些类似
<object class="IBCocoaTouchOutletConnection" key="connection">
   <string key="label">textField</string>
   <reference key="source" ref="372490531"/>
   <reference key="destination" ref="523173636"/>
</object>
 
<object class="IBCocoaTouchOutletConnection" key="connection">
   <string key="label">label</string>
   <reference key="source" ref="372490531"/>
   <reference key="destination" ref="651503596"/>
</object>
 
他们的 source 都是 myViewController,destination 分别是 IBUITextField 和 IBUILabel 。
<object class="IBUITextField" id="523173636">
<object class="IBUILabel" id="651503596">
 
View 是一个比较特殊的对象。
<object class="IBCocoaTouchOutletConnection" key="connection">
   <string key="label">view</string>
   <reference key="source" ref="372490531"/>
   <reference key="destination" ref="191373211"/>
</object>
他的 source 是 myViewController , destination 是 IBUIView 。
<object class="IBUIView" id="191373211">
   <reference key="NSNextResponder"/>
看字面意思好像是下一个 responder ,不是很理解这个东东。
 
还有一个 delegate 对象。
<object class="IBCocoaTouchOutletConnection" key="connection">
   <string key="label">delegate</string>
   <reference key="source" ref="523173636"/>
   <reference key="destination" ref="372490531"/>
</object>
他的 source 是 IBUITextField , destination 是 myViewController 。
这个也不大理解。


摘自 pingjiang2003的专栏
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • UITableView一些方法
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • iphone(object-c)内存管理(1)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1