Re: [問題] 在Obj-C的method 如何在一個引數中傳入 …

看板MacDev作者 (龍野南雲)時間15年前 (2010/03/25 00:24), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/5 (看更多)
: 我果然表達的很差 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
文章代碼(AID): #1BgZpF2L (MacDev)
文章代碼(AID): #1BgZpF2L (MacDev)