У меня есть метод в библиотеке, который выглядит так:
- (id)initWithSomeObjects:(NSString *)something, ... NS_REQUIRES_NIL_TERMINATION;
Я бы очень хотел вызвать его с помощью массива вместо var args, потому что количество объектов, которые я хотел бы передать, можно изменить.
Есть ли способ, используя performSelector, NSInvocation или objc_msgSend или что-то еще, чтобы я мог вызвать метод var args с аргументами, поступающими из массива?
NSArray
вva_list
. Ваш метод не принимаетva_list
, он принимает переменное количество аргументов.va_list
- это сам по себе тип - просто байтовый буфер, но это единственный аргумент. Ваш метод будет выглядеть так:-(id)initWithSomeObjects:(va_list)objs
Сравнить-[NSString initWithFormat:]
и-[NSString initWithFormat:arguments:]
. - person jscs   schedule 17.07.2013