Sim*_*iwi 15 enumeration objective-c ios sharekit
我在下面的代码中没有在switch中处理警告Enumeration值'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];
}
Run Code Online (Sandbox Code Playgroud)
此警告在ShareKit中,我不知道如何解决它.
谢谢!
Vla*_*mir 29
为该枚举值添加虚拟案例:
case SHKShareTypeUndefined:
break;
Run Code Online (Sandbox Code Playgroud)
或者在目标设置中将"检查开关语句"标志设置为NO(警告部分)
Gui*_*ume 17
你也可以使用一个default案例:
switch (type) {
case SHKShareTypeURL:
favoriteSharers = ...
break;
// ...
default:
NSLog(@"Unexpected case - will do nothing here");
break;
}
Run Code Online (Sandbox Code Playgroud)