У меня есть проблема в моем коде, которую я перевел к следующему (глупому) примеру
NSArray *array = [NSArray arrayWithObjects:@"1", @"2", @"3", nil];
__block NSString *a = @"-1";
[array enumerateObjectsUsingBlock:^(id whoCares, NSUInteger idx, BOOL *stop) {
a = [NSString stringWithFormat:@"%@ %d", a, idx];
NSLog(@"%@", a);
}];
NSLog(@"%@", a);
Этот код работает, но если я закомментирую первый NSLog (внутри блока) кодсбои.Но если я изменю строку формата на следующую
a = [NSString stringWithFormat:@"%d", idx];
, тогда код будет работать нормально без NSLog внутри блока.
Что здесь происходит?Надеюсь, я что-то недопонимаю.