【问题标题】:error maddage: expected expression? [duplicate]错误疯狂:预期的表达? [复制]
【发布时间】:2014-03-03 04:28:28
【问题描述】:

我认为这可能是一个愚蠢的错误,但我就是想不通。谁能告诉我我错过了什么??

-(void) receiveRecommendData {
 //receive data//
 NSURL *getResultUrl = [NSURL URLWithString:@"http://phdprototype.tk/getResultData.php"];

 NSData *data = [NSData dataWithContentsOfURL:getResultUrl];

 [self getData:data];

 NSDictionary *jsonToDict = json[0]; //[json objectAtIndex:0];

 int pageNumber = [[jsonToDict objectForKey:@"recommendData"]intValue];

 switch (pageNumber) {
     case 0:
         UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Collection_01ViewController"];
         break;
     case 1:
         UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Collection_01ViewController"];
         break;
     case 2:
          UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Collection_02ViewController"];
          break;
     case 3:
          UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Collection_03ViewController"];
         break;
     default:
         break;
 }
}

代码出现错误

UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Collection_01ViewController"]; 

【问题讨论】:

  • 除非它通过引用返回值,否则不要在方法名称前加上“get”。

标签: objective-c compiler-errors switch-statement


【解决方案1】:

您不能将变量声明为案例部分的第一行。只需添加大括号...

switch (pageNumber) {
  case 0: {
     UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Collection_01ViewController"];
     break;
  }
  case 1: {
     UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"Collection_01ViewController"];
     break;
  }
  case 2:  //etc

【讨论】:

    猜你喜欢
    • 2011-02-19
    • 2014-04-25
    • 1970-01-01
    • 2018-01-23
    • 2011-01-28
    • 2012-05-03
    • 1970-01-01
    • 2013-02-13
    • 2010-12-12
    相关资源
    最近更新 更多