在蟒很容易构建一个字典或数组,并将它传递解压到具有可变参数是否可以在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