作者uranusjr (←这人是超级笨蛋)
看板MacDev
标题Re: [问题] 在Obj-C的method 如何在一个引数中传入 …
时间Thu Mar 25 00:23:41 2010
※ 引述《leondemon (狗狗)》之铭言:
: 我果然表达的很差 Orz...
: 其实我是想要这样送讯息给物件(举例):
: Hero *aSpecialPerson = [Hero haveAbilities: fly, invisible, immortal];
: fly, invisible, immortal分别是三种不同物件
: 但是我可以在传入参数时 传入不定数量的参数
: 例如:
: Hero *anotherSpecialPerson = [Hero haveAbilities: transport, mindReading];
如同推文, 这不可能
首先 Objective-C 的方法宣告一个 : 就是对应一个传入值, 不多不少
所以你唯二合理的选择是
1) 传入一个 NSSet, NSArray 或 NSDictionary (视需求), 其中包含你需要的参数
然後在 constructor 里面再判断有什麽东西来创建物件
2) 宣告很多个 constructors 包含你所有会用到的状况
不然, 嗯其实还有另一个选择啦
建一个 C++ class..........
--
Les grandes et les meilleurs
tone from "Zadok the Priest"
Eine grosse stattliche Veranstaltung
by F. Handel
THE MAIN EVENT! These are the men
Sie sind die Besten
"Champions League" by Tony Britten THESE ARE THE CHAMPIONS!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.81.146
※ 编辑: uranusjr 来自: 114.32.81.146 (03/25 00:24)