作者jlovet (打不贏怪兵器不好)
看板MacDev
標題[討論] outlet跟delegate
時間Fri Sep 18 11:14:35 2009
delegate是這樣宣告
@interface ClassName : NSObject
{
id delegate;
}
outlet是這樣
#ifndef IBOutlet
#define IBOutlet
#endif
@interface className
{
IBOutlet id outlet;
}
所以等於 跟delegate一樣
所以我可以說,其實他們都只是讓別的物件可以使用某個變數 (id) 的東西而已嗎...
感覺沒什麼差別...
當然意義上有所不同,可是你要把程式反過來寫應該也可以吧?
例如把delegate的名字改掉,或是建立一個outlet叫做delegate?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.102.254
1F:→ jlovet:是不是很像C++的reference阿? 09/18 11:16
2F:→ uranusjr:名字只是名字而已, 你要把你家前面的野貓命名傑士塔威也 09/18 11:20
3F:→ uranusjr:沒人管得了你 09/18 11:20
4F:→ uranusjr:Outlet 之所以是 outlet 是因為前面有個 IBOutlet, 而 09/18 11:21
5F:→ uranusjr:delegate 更是只要是個 NSObject(讀音:什麼都可以)就 09/18 11:21
6F:→ uranusjr:能當 (btw, "id" works the same as "NSObject" here) 09/18 11:22
7F:→ jlovet:嗯,對阿,我是說, IBOutlet 根本就空空的.... 09/18 11:46
8F:→ jlovet:ObjC真的可以用中文命名嗎? 傑士塔威~ 09/18 11:46
9F:→ uranusjr:呃, 我只是解釋...不管能不能不要用非英語字元總是較好 09/18 11:55
10F:推 ccpz:IBOutlet 只是給 interface builder 看的, 你加上IBOutlet 09/18 12:29
11F:→ ccpz:他就會在 outlet 的列表出現讓你拉 09/18 12:29
12F:→ jlovet:喔喔喔喔喔,原來是這樣阿,難怪程式碼裡面都沒有outlet的線 09/18 12:51