看板 MacDev 關於我們 聯絡資訊
Blueshiva:宣告方式就是 03/25 00:50
Blueshiva:+ (id)dictionaryWithObjectsAndKeys:(id)firstObject, 03/25 00:50
Blueshiva:...; 03/25 00:50
uranusjr:參考 http://tinyurl.com/yl2rjps 03/25 00:52
uranusjr:Apple 自己的宣告後面會加 NS_REQUIRES_NIL_TERMINATION 03/25 00:52
uranusjr:不加也行, 沒仔細試過, 不過應該是丟 exception 用的 03/25 00:53
感謝兩位!參考了幾個網頁 寫了一個簡單的來用測試... @implementation -(void) testMethod:(id) firstObject,...{ NS_REQUIRES_NIL_TERMINATION; //這行在iPhone OS下似乎無作用 NSMutableArray *list = [NSMutableArray array]; if (firstObject){ va_list argumentList; va_start(argumentList, firstObject); do { [list addObject: firstObject]; //在此區塊實作想做的事 } while (firstObject = va_arg(argumentList, id)); va_end(argumentList); } NSLog(@"%@",list); //test用 } NS_REQUIRES_NIL_TERMINATION這行在iPhone OS下 當傳入參數並非nil結尾時 無法讓compiler發出error訊息 不過我實際上傳入參數無論是否以nil為結尾 似乎都沒有問題(真的是這樣嗎?) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 116.59.14.185
leondemon:如果我寫的code有不太好的地方 歡迎指正 :) 03/26 00:12
shelary:我都是用 NSDictioary 傳入大量不定數量的參數.方便很多 03/26 06:08
shelary:你用這種舊C的方法會讓人不知道每個陣列內容是什麼意義 03/26 06:09
leondemon:只是方便呼叫而已 XD 03/26 21:41