Saya mengerti persis mengapa peringatan variabel yang tidak terpakai terjadi. Saya tidak ingin menekannya secara umum, karena mereka sangat berguna dalam banyak kasus. Namun, pertimbangkan kode berikut (dibuat-buat).
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Laporan Xcode yang saved
merupakan variabel yang tidak digunakan, padahal tentu saja tidak. Saya menduga ini karena NSAssert1
makro. The NS_BLOCK_ASSERTIONS
makro tidak didefinisikan, sehingga C pernyataan Objective pasti diaktifkan.
Meskipun tidak menyakiti apa pun, saya merasa tidak rapi dan menjengkelkan, dan saya ingin menekannya, tetapi saya tidak yakin bagaimana melakukannya. Menempatkan variabel untuk dirinya sendiri menghilangkan peringatan compiler, tapi saya lebih suka melakukannya dengan cara yang "benar" jika hal seperti itu ada.
'saved' was marked as unused but was used