Ответ 1
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-value"
pageId = [NSNumber numberWithInt:val];
#pragma clang diagnostic pop
Следующий код возвращает выражение неиспользуемого предупреждения в операции присваивания в блоке. Код не очень практичен, но в исключенном разделе есть намного больше кода, и этот код должен работать в определенной очереди.
__block NSNumber *pageId=nil;
dispatch_sync(_myDispatchQueue, ^{
int val;
//... code generates an int and puts it in val
pageId = [NSNumber numberWithInt:val];
}];
//pageId used below
Как избавиться от этой ошибки?
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-value"
pageId = [NSNumber numberWithInt:val];
#pragma clang diagnostic pop
Примечание. Я получил это от Intrubidus, но мне нужна дополнительная информация, поэтому после эксперимента я записал свои результаты здесь для следующего парня.
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-value"
pageId = [NSNumber numberWithInt:val];
#pragma clang diagnostic pop
Используется только для области между игнорированием и поп. "-Wunused-value" не подавляет неиспользуемые переменные.
Вот как вы бы подавляли неиспользуемые переменные:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"
int i = 0;
#pragma clang diagnostic pop
Кроме того, без push и pop, как показано:
#pragma clang diagnostic ignored "-Wunused-value"
pageId = [NSNumber numberWithInt:val];
Тип предупреждения игнорировался в любом месте этого файла после #pragma. Это похоже только на файл, о котором идет речь.
Надеюсь, вы нашли это полезным,
- Chase