Ответ 1
Добавьте фиктивный код для этого значения перечисления:
case SHKShareTypeUndefined:
break;
Или установите для флажка "Проверять переключатель оператора" значение "НЕТ" в ваших целевых настройках (раздел предупреждений)
Я получаю предупреждение. Значение перечисления "SHKShareTypeUndefined" не обрабатывается в переключателе в приведенном ниже коде. Я выделил соответствующую строку и указатель:
+ (NSArray *)favoriteSharersForType:(SHKShareType)type
{
NSArray *favoriteSharers = [[NSUserDefaults standardUserDefaults] objectForKey:[NSString stringWithFormat:@"%@%i", SHK_FAVS_PREFIX_KEY, type]];
// set defaults
if (favoriteSharers == nil)
{
switch (type)
{
case SHKShareTypeURL:
favoriteSharers = [NSArray arrayWithObjects:@"SHKTwitter",@"SHKFacebook",@"SHKReadItLater",nil];
break;
case SHKShareTypeImage:
favoriteSharers = [NSArray arrayWithObjects:@"SHKMail",@"SHKFacebook",@"SHKCopy",nil];
break;
case SHKShareTypeText:
favoriteSharers = [NSArray arrayWithObjects:@"SHKMail",@"SHKTwitter",@"SHKFacebook", nil];
break;
case SHKShareTypeFile:
favoriteSharers = [NSArray arrayWithObjects:@"SHKMail", nil];
break;
case SHKShareTypeUndefined:
break;
}
// Save defaults to prefs
[self setFavorites:favoriteSharers forType:type];
}
Это предупреждение находится в ShareKit, и я не уверен, как его исправить.
Спасибо!
Добавьте фиктивный код для этого значения перечисления:
case SHKShareTypeUndefined:
break;
Или установите для флажка "Проверять переключатель оператора" значение "НЕТ" в ваших целевых настройках (раздел предупреждений)
Вы также можете использовать случай default
:
switch (type) {
case SHKShareTypeURL:
favoriteSharers = ...
break;
// ...
default:
NSLog(@"Unexpected case - will do nothing here");
break;
}
Если у вас есть основания не хотеть ни добавлять случаи для всех значений перечисления, ни добавлять случай по умолчанию, а если вы компилируете с помощью clang, вы можете написать
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wswitch"
switch (type) {
//...
}
#pragma clang diagnostic pop