Я точно понимаю, почему возникают неиспользуемые предупреждения переменных. Я не хочу их подавлять в целом, потому что они в большинстве случаев невероятно полезны. Однако рассмотрим следующий (надуманный) код.
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Xcode сообщает, что saved
- неиспользуемая переменная, когда, конечно, это не так. Я подозреваю, что это потому, что NSAssert1
- это макрос. Макрос NS_BLOCK_ASSERTIONS
не определен, поэтому утверждения Objective C определенно включены.
Хотя это ничего не болит, я нахожу это неопрятным и раздражающим, и я хочу его подавить, но я не знаю, как это сделать. Присвоение переменной самому себе избавляет от предупреждения компилятора, но я предпочел бы сделать это "правильным" способом, если такая вещь существует.