最佳答案
我完全理解为什么会出现未使用的变量警告。我不想压制它们,因为它们在大多数情况下都非常有用。但是,请考虑以下(人为的)代码。
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Xcode 报告 saved
是一个未使用的变量,当然它不是。我怀疑这是因为 NSAssert1
是一个宏。NS_BLOCK_ASSERTIONS
宏是定义为 没有的,因此肯定启用了 Objective C 断言。
虽然它不会伤害任何东西,但是我发现它不整洁而且令人讨厌,我想抑制它,但是我不知道如何去做。将变量赋值给它自己可以消除编译器的警告,但是如果存在这种情况,我宁愿采用“正确”的方式。