Dokładnie rozumiem, dlaczego pojawiają się nieużywane ostrzeżenia o zmiennych. Generalnie nie chcę ich tłumić, ponieważ w większości przypadków są niezwykle przydatne. Rozważ jednak następujący (wymyślony) kod.
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Xcode zgłasza, że saved
jest nieużywaną zmienną, chociaż oczywiście tak nie jest. Podejrzewam, że to dlatego, że NSAssert1
jest to makro. NS_BLOCK_ASSERTIONS
Makro nie zdefiniowane, więc twierdzenia Objective C są zdecydowanie włączone.
Chociaż niczego to nie boli, uważam to za nieporządne i denerwujące i chcę to stłumić, ale nie jestem pewien, jak to zrobić. Przypisanie zmiennej do samej siebie usuwa ostrzeżenie kompilatora, ale wolałbym zrobić to we „właściwy” sposób, jeśli coś takiego istnieje.
'saved' was marked as unused but was used