Да, я все за исправление предупреждений, но что если у вас есть приложение, которое вы хотите работать на 10.4 и выше, а в некоторых местах использовать методы / сообщения в 10.6, но все же работать на 10,4
Например, NSDate.addTimeInterval устарел, поэтому для 10.6 лучше использовать NSDate.dateByAddingTimeInterval.
Из того, что я могу решить, независимо от того, что я делаю, я закончу тем или иным предупреждением. Если я добавлю код:
if ([NSDate instancesRespondToSelector:@selector(dateByAddingTimeInterval)]) {
timer = [[NSTimer alloc] initWithFireDate:[nowDate dateByAddingTimeInterval:10.0] interval:0.05 target:self selector:@selector(fade:) userInfo:nil repeats:YES];
} else {
timer = [[NSTimer alloc] initWithFireDate:[nowDate addTimeInterval:10.0] interval:0.05 target:self selector:@selector(fade:) userInfo:nil repeats:YES];
}
Я получаю предупреждение в первой половине оператора if, если версия sdk 10.5, и предупреждение во второй половине, если версия sdk 10.6.
Если я знаю , код в порядке, есть ли прагма или аналогичная конструкция, которая позволит мне сообщить компилятору, что рассматриваемая строка в порядке?