У меня есть два метода в моем классе под названием TestClient
Строка форматирования переменной длины и EXEC_BAD_ACCESS
-(void)log:(NSString *)logMessage, ...
{
va_list ap;
va_start(ap, logMessage);
[self log:logMessage withParameters:ap];
va_end(ap);
}
-(void)log:(NSString *)logMessage withParameters:(va_list)valist
{
NSString *formattedString = [[NSString alloc] initWithFormat:logMessage arguments:valist]; //Crashes here
[self callMethod:@"log" withParams:formattedString, nil]; //Calls my method.
}
Вот мой блок тест:
-(void)testWtfCondition
{
int test = 1;
NSString *test2 = @"wtf";
[proxy log:@"This is a test: %@ %@",test, test2];
}
Мой блок тестирования аварии на линии NSString formattedString с EXEC_BAD_ACCESS. Я что-то не так с форматированием строк или varargs здесь? Это потому, что я пытаюсь сделать формат с int?
Derp derp. Я подумал, что это что-то вроде этого. Клянусь, я пробовал% i, но он все еще разбился. Похоже, он работает. Я соглашусь, как только StackOverflow позволит мне. – danieljimenez