Tôi hiểu chính xác lý do tại sao cảnh báo biến không sử dụng xảy ra. Tôi không muốn loại bỏ chúng nói chung, bởi vì chúng cực kỳ hữu ích trong hầu hết các trường hợp. Tuy nhiên, hãy xem xét đoạn mã (tiếp theo) sau đây.
NSError *error = nil;
BOOL saved = [moc save:&error];
NSAssert1(saved, @"Dude!!1! %@!!!", error);
Xcode báo cáo rằng đó saved
là một biến không được sử dụng, tất nhiên là không. Tôi nghi ngờ điều này là vì NSAssert1
là một vĩ mô. Các NS_BLOCK_ASSERTIONS
vĩ mô được không được xác định, do đó khẳng định C Mục tiêu chắc chắn kích hoạt.
Mặc dù nó không ảnh hưởng gì, nhưng tôi thấy nó bừa bộn và khó chịu, và tôi muốn kìm nén nó lại, nhưng tôi không biết phải làm như thế nào. Việc gán biến cho chính nó sẽ loại bỏ cảnh báo của trình biên dịch, nhưng tôi muốn làm điều đó theo cách "đúng" nếu điều đó tồn tại.
'saved' was marked as unused but was used