Re: [問題] Obj-C中的delegate如何運作?

看板MacDev作者 (Loafer是了好)時間16年前 (2009/05/31 01:32), 編輯推噓1(109)
留言10則, 2人參與, 最新討論串4/6 (看更多)
※ 引述《leondemon (狗狗)》之銘言: : 看了一些資料和書 還是不太懂什麼是delegate : 以及他是如何運作的... : 有沒有什麼比較白話的例子能夠幫助了解呢? : 謝謝:) 這裡提供另一個想法 Refactoring 這本書有提到(中文版的P.352) Delegate 常用在,當某一個subclass只用一些superclass的功能 反之如果subclass用到大部分的superclass的功能就直接繼承 例子是要實作一個MyStack,但要用到Vector的功能 與其MyStack 繼承Vector,不如用delegate 因為MyStack只會用到Vector裡isEmpty()和siz() 那pop, 和push就自已實作 Code: class MyStack { private Vector v = new Vector(); public int size(){ return v.size(); } public boolean isEmpty(){ return v.isEmpty(); } public push(Object o){ // 自己寫 } public Object pop(){ // 自己寫 } } 很簡單的一個想法就是,new一個object幫你做事。 希望有幫到忙。呵 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.94.242

05/31 02:37, , 1F
有懂delegate的用意 不過還是不太懂整體是怎麼運作的 XD
05/31 02:37, 1F

05/31 02:38, , 2F
如果我需要一個helper object那我要在Xcode和IB中做哪些
05/31 02:38, 2F

05/31 02:38, , 3F
設定 才能讓原本的instance去delegate別的物件?
05/31 02:38, 3F

05/31 02:39, , 4F
不太懂IB(interface builder)中 何時要connect delegate
05/31 02:39, 4F

05/31 02:40, , 5F
而且delegate的connection似乎只能單方面設定?
05/31 02:40, 5F

05/31 04:02, , 6F
不過,ObjC 裡頭的 delegate 通常不是這樣用…。
05/31 04:02, 6F

05/31 04:03, , 7F
這樣比較像是成員變數的 getter setter 耶…。
05/31 04:03, 7F

05/31 04:08, , 8F
因為 ObjC 的 delegate 通常只會放一個外部的指標
05/31 04:08, 8F

05/31 04:09, , 9F
比較不會是在 Class 裡頭生物件
05/31 04:09, 9F

文章代碼(AID): #1A8MsVqW (MacDev)
討論串 (同標題文章)
文章代碼(AID): #1A8MsVqW (MacDev)