Я точно розумію, чому виникають невикористані попередження змінної. Я взагалі не хочу їх придушувати, бо вони в більшості випадків неймовірно корисні. Однак врахуйте наступний (надуманий) код.
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