作者Blueshiva (龙野南云)
看板MacDev
标题Re: [问题] 在Obj-C的method 如何在一个引数中传入 …
时间Thu Mar 25 00:24:44 2010
: 我果然表达的很差 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