我正在尝试创建一种从 va_list 快速轻松地创建 NSArray 的方法,但是,当我运行该方法时,由于某处的内存管理不善,我收到了 exc_bad_access,尽管我无法确定这个地方在哪里。
请您看一下代码并告诉我发生这种情况的位置和原因。
先谢谢了,
最大限度。
NSArray *arrayCreate(id firstObject, ...) {
NSMutableArray *objects = [NSMutableArray array];
[objects addObject:firstObject];
va_list args;
va_start(args, firstObject);
id arg;
while ((arg = va_arg(args, id))) {
[objects addObject:arg];
}
va_end(args);
return [objects copy];
}
用法(只是为了测试它是否有效):
NSLog(@"%@", arrayCreate(@"1", @"2", @"3", @"4"));