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

看板MacDev作者 (阿儒)時間15年前 (2010/03/25 00:43), 編輯推噓3(307)
留言10則, 3人參與, 最新討論串4/5 (看更多)
※ 引述《leondemon (狗狗)》之銘言: : 不知道我標題表達對不對... : 我希望寫一個method 能在一個引數下傳入多個參數 (引數和參數我常搞混 囧) : 就是希望能跟NSArray的初始化時 可以決定要放入多少個物件到array中... : 希望是不要透過NSArray、NSSet等這些collection來傳入method... : 有辦法做到嗎? 我猜原PO的意思是, 他想要自己寫一個class, 這個class可以擁有像NSArray.NSDictionay初始化的method. 如:[NSDictionary dictionaryWithObjectsAndKeys:AAA,BBB,CCC,DDD,.....,nil]; (不太確定method名稱, 只是隨便舉個例) 像原Po舉的例子, 可能就有個method是[Hero haveAbility:AAA,BBB,CCC,.....nil]; 該怎麼才能讓method接受這種用nil結尾,不定長度的input. 不知道我有沒有理解正確,因為我也對這個如何實現很好奇... NSArray. NSDictionary可以, 應該沒道理不行才是. -- ▂▃▄▃▂ ◢ ˙ ˙ ▉▃ /喵喵~~~~ ◣╲ˍ ╱▎ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.218.68 ※ 編輯: denru01 來自: 140.112.218.68 (03/25 00:44)

03/25 00:50, , 1F
宣告方式就是
03/25 00:50, 1F

03/25 00:50, , 2F
+ (id)dictionaryWithObjectsAndKeys:(id)firstObject,
03/25 00:50, 2F

03/25 00:50, , 3F
...;
03/25 00:50, 3F

03/25 00:51, , 4F
或者餵兩個 NSArray,一個當key一個當value也行
03/25 00:51, 4F

03/25 00:52, , 5F
03/25 00:52, 5F

03/25 00:52, , 6F
Apple 自己的宣告後面會加 NS_REQUIRES_NIL_TERMINATION
03/25 00:52, 6F

03/25 00:53, , 7F
不加也行, 沒仔細試過, 不過應該是丟 exception 用的
03/25 00:53, 7F

03/25 13:05, , 8F
是的,你抓到它了。NSArray是怎麼做到的呢?
03/25 13:05, 8F

03/25 13:06, , 9F
NSArray和NSSet都是framework下的東西 應該是有辦法實作
03/25 13:06, 9F

03/25 19:23, , 10F
謝謝u大的連結 我在研究看看囉~
03/25 19:23, 10F
文章代碼(AID): #1Bga4azV (MacDev)
討論串 (同標題文章)
文章代碼(AID): #1Bga4azV (MacDev)