-1

このメソッドが実行された後、ビューに表示しようとしています。何らかの理由で、このメソッドの最後で次を使用しようとするたびに表示されません:

[self viewWillAppear: YES];

表示されるように、このすべての情報をviewDidLoadに渡そうとしています。

 -(void)categoryDining{

    //Some method

[self viewWillAppear:YES];


};

編集:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
   MapViewController *category1 = [[MapViewController alloc] init];
     NSArray *array=[self.navigationController viewControllers];
        switch (indexPath.row) {
        case 0:
            [self.navigationController popToViewController:[array objectAtIndex:[array count]-2] animated:YES];
            break;
        case 1:
            [category1 startOp];
            [self.navigationController popToViewController:[array objectAtIndex:[array count]-2] animated:YES];
            break;
            // etc...
            default:
            break;
    }

次に、メソッドは別のビューコントローラーで実行されます。

-(void)startOp{
  //Method here
  [self viewWillAppear Animated:YES];
} 

ご覧のとおり、メッセージを viewWillAppear に送信します。画面に読み込まれません。

4

1 に答える 1

1

質問の意味がよくわかりませんが、viewWillAppear:自分に電話するべきではありません。ビューコントローラーによって呼び出されます。代わりに、メソッドを実装し、その中で必要なことをすべて行います。

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    // do stuff
}
于 2013-09-15T22:51:43.310 に答える