作者offname (Loafer是了好)
看板MacDev
标题Re: [问题] Obj-C中的delegate如何运作?
时间Sun May 31 11:05:48 2009
※ 引述《offname (Loafer是了好)》之铭言:
:
※ 发信站: 批踢踢实业坊(ptt.cc)
: ◆ From: 61.62.94.242
: 推 leondemon:有懂delegate的用意 不过还是不太懂整体是怎麽运作的 XD 05/31 02:37
: → leondemon:如果我需要一个helper object那我要在Xcode和IB中做哪些 05/31 02:38
: → leondemon:设定 才能让原本的instance去delegate别的物件? 05/31 02:38
: → leondemon:不太懂IB(interface builder)中 何时要connect delegate 05/31 02:39
: → leondemon:而且delegate的connection似乎只能单方面设定? 05/31 02:40
把出现在IB,可以拉的东西
我们来分为两个部分好了
一个是系统的,一个是自己写的
自已写的就要出现, IBOutlet或是IBAction在IB才可以看得到
自己定义的ivar或是action的身影
在MVC的架构下
Control对View,假设是MyViewController和MyView.xib
先把MyViewController里的IBOutlet拉到MyView.xib上的元件
表示Control 要控制 View里的东西
再来就是View里的元件如果有event会发生的话,比如touchup inside
把那个event 拉到MyViewController里的IBAction
表示View的event要发生的时候要回报给control然後去发生那个action
这样想比较简单
不知道有没有回答您心中的问题
: → zonble:不过,ObjC 里头的 delegate 通常不是这样用…。 05/31 04:02
: → zonble:这样比较像是成员变数的 getter setter 耶…。 05/31 04:03
: → zonble:因为 ObjC 的 delegate 通常只会放一个外部的指标 05/31 04:08
: → zonble:比较不会是在 Class 里头生物件 05/31 04:09
: → zonble:http://en.wikipedia.org/wiki/Delegation_pattern 05/31 04:09
Z大说的是啦,我是觉得delegate意思范围比较广一点
从英雄到真正objective-c的实作方法
都算是一种delegate
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.4.234
1F:推 leondemon:ㄜ...可是delegate不是自己创造的 所以我不知道什麽时候 06/02 16:48
2F:→ leondemon:要拉delegate与control物件做连接 06/02 16:49
3F:推 Blueshiva:delegate通常是用在protocol中,也就是"协同数个object 06/02 17:58
4F:→ Blueshiva:合作",除非你自己要设计protocol,不然就用内建的那些 06/02 17:59
5F:→ Blueshiva:就好 06/02 17:59
6F:→ offname:leondemon是在IB看到一个叫delegate,拉了之後没反应吗? 06/02 18:29
7F:→ leondemon:有反应阿 只是不知道什麽时候要拉 为什麽而拉 谁拉给谁 06/02 22:43
8F:→ leondemon:因为不是很懂 所以才问罗 :) 06/02 22:43