在蟒很容易構建一個字典或數組,並將它傳遞解壓到具有可變參數是否可以在Obj-c中爲可變參數函數發送一個數組?
函數我已經這樣:
- (BOOL) executeUpdate:(NSString*)sql, ... {
和手動方式是這樣的:
[db executeUpdate:@"insert into test (a, b, c, d, e) values (?, ?, ?, ?, ?)" ,
@"hi'", // look! I put in a ', and I'm not escaping it!
[NSString stringWithFormat:@"number %d", i],
[NSNumber numberWithInt:i],
[NSDate date],
[NSNumber numberWithFloat:2.2f]];
但我不能硬編碼我打電話的參數,我想:
NSMutableArray *values = [NSMutableArray array];
for (NSString *fieldName in props) {
..
..
[values addObject : value]
}
[db executeUpdate:@"insert into test (a, b, c, d, e) values (?, ?, ?, ?, ?)" ,??values];
我剛從另一篇文章中發現,如果需要,您可以根據需要創建此功能,雖然Cocoa默認情況下沒有這樣的方法。 http://stackoverflow.com/questions/1058736/#1061750 – 2009-06-30 13:39:00
自從我調查了這一段已經有一段時間了,但我認爲創建任意可變參數列表的方法有點脆弱。這取決於不能保證的實施細節。只是一個警告。 – Chuck 2009-06-30 15:48:50