C如果与切换

这个问题在这里已经有了答案:

  • 为什么不能在switch语句中声明变量? 23个答案

  • 你需要在一个单独的范围case ,如果你想有宣布任何变量:

    switch ((int)typeOfHall) {
        case 1:
        {   /* Introduce a scope ... */
            NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Game"]; 
            NSPredicate *p = [NSPredicate predicateWithFormat:@"player_id == %@ ",[[NSUserDefaults standardUserDefaults] valueForKey:@"LoggedUserId"]];
            request.predicate = p;
            break;
        }   /* ... that ends here. */
        default:
            break;
    
    }
    

    注意:如果LocalHall是一个枚举值,那么在没有LocalHall情况下,您的代码更具可读性:

    switch (typeOfHall) {
        case LocalHall:
        // ...
    
    链接地址: http://www.djcxy.com/p/14795.html

    上一篇: C if vs switch

    下一篇: Return by reference inside a switch statement