Re: [問題] 在Obj-C的method 如何在一個引數中傳入 …
: 我果然表達的很差 Orz...
:
: 其實我是想要這樣送訊息給物件(舉例):
:
: Hero *aSpecialPerson = [Hero haveAbilities: fly, invisible, immortal];
:
: fly, invisible, immortal分別是三種不同物件
: 但是我可以在傳入參數時 傳入不定數量的參數
:
: 例如:
: Hero *anotherSpecialPerson = [Hero haveAbilities: transport, mindReading];
:
:
: 大概像這樣的method要怎麼宣告和實作呢? Orz
這樣的話,可以用 NSDictionary 來作,例如
NSDictionary *Abilities = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], @"fly",
[NSNumber numberWithBool:YES], @"invisible",
[NSNumber numberWithUnsignedInt:10], @"str", nil];
Hero *person = [Hero heroWithAbilities:Abilities];
要查詢hero的abilities的話,就用
if([[person Abilities] objectForKey:@"fly"] == nil)
//hero can't fly
--
Luna quieres ser madre
y no encuentras querer
que te haga mujer
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 112.104.95.143
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 5 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章