Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 为什么这段代码不起作用?_Objective C - Fatal编程技术网

Objective c 为什么这段代码不起作用?

Objective c 为什么这段代码不起作用?,objective-c,Objective C,xCode'在EditRootNoteViewController之前需要表达式…但为什么要这样呢?这段代码在这个开关外工作……这可能是某种线索,但我一点也不知道是什么。这是你的整个开关语句吗?如果是这样,你就忘了 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if ([indexPath section] == 0) { switch ([ind

xCode'在EditRootNoteViewController之前需要表达式…但为什么要这样呢?这段代码在这个开关外工作……这可能是某种线索,但我一点也不知道是什么。

这是你的整个开关语句吗?如果是这样,你就忘了

- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

 if ([indexPath section] == 0) {
  switch ([indexPath row]) {

   case 0:
    [self renameExercise];
    [[self tableView] deselectRowAtIndexPath:indexPath 
            animated:YES];
    break;

   case 1:
    EditRootNoteViewController *newController = [[EditRootNoteViewController alloc] initWithNibName:@"EditNoteView"
                           bundle:nil];
    [newController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [newController setDelegate:self];
    [self presentModalViewController:newController
          animated:YES];
    [newController release];
    break;

确保您的问题包含完整的方法,或者至少包含完整的方法,以便我们更容易提供帮助

编辑:
哦在第二次研究这个问题之后,如果在switch语句中声明新变量,则必须在花括号内声明。不知道为什么,几周前我遇到了这个问题。也许有人可以详细说明为什么需要这样做?

这是您的全部切换语句吗?如果是这样,你就忘了

- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

 if ([indexPath section] == 0) {
  switch ([indexPath row]) {

   case 0:
    [self renameExercise];
    [[self tableView] deselectRowAtIndexPath:indexPath 
            animated:YES];
    break;

   case 1:
    EditRootNoteViewController *newController = [[EditRootNoteViewController alloc] initWithNibName:@"EditNoteView"
                           bundle:nil];
    [newController setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
    [newController setDelegate:self];
    [self presentModalViewController:newController
          animated:YES];
    [newController release];
    break;

确保您的问题包含完整的方法,或者至少包含完整的方法,以便我们更容易提供帮助

编辑:
哦在第二次研究这个问题之后,如果在switch语句中声明新变量,则必须在花括号内声明。不知道为什么,几周前我遇到了这个问题。也许有人可以详细说明为什么需要这样做?

试着将代码放在一个块中:

default:
break;

或者更好的方法是,将代码提取到单独的方法中。

尝试将代码放入块中:

default:
break;

或者更好的办法是,将代码提取到一个单独的方法中。

这是因为不能将变量声明为switch语句中case的第一个语句


有关详细信息,请参阅或。

这是因为不能将变量声明为switch语句中case的第一个语句


有关更多信息,请参阅或。

这不是完整的方法,我认为不包括后面的内容会有所帮助,但我可以看出这可能是第一个想法。Thank.switch语句不需要有默认的大小写。这不是完整的方法,我认为不包含后面的内容会有所帮助,但我可以看出这可能是第一个想法。Thank.switch语句不需要有默认的case.dag。只有一个答案是正确的?嗯…我投了赞成票…但另一个答案是关于为什么…但这也是一个很好的答案。我知道没那么严重,但我只能感谢你,达格。只有一个答案是正确的?嗯…我投了赞成票…但另一个答案是关于为什么…但这也是一个很好的答案。我知道没那么严重,但我只能感谢你