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