Segue启动但viewDidLoad没有为新的ViewController触发

时间:2014-06-02 15:09:55

标签: ios objective-c uiviewcontroller segue

我从代码中启动segue时遇到了一些问题。

我想在我的应用中做些什么:

  1. 使用POST电话登录网站。
  2. 当从该登录尝试获得成功响应时,它会调用一个函数来通过performSegueWithIdentifier调用来更改VC。
  3. 当新视图控制器加载时,它会使用该应用刚刚登录的网站中的另一个页面填充网页视图
  4. 到目前为止,我已经到了segue电话。它调用可以推送到新VC(或至少到某个地方),因为它摆脱了旧VC显示的图像,但它不会导致新的视图控制器填充webview。

    代码调用函数:

    ....
    
    success:^(AFHTTPRequestOperation *operation, id responseObject){
    
                ...
    
              [self blah];
    
                ...
          }
    ....
    

    该功能中的代码:

    - (void)blah{
        [self performSegueWithIdentifier: @"toMap" sender: self];
        NSLog(@"segue to map");
    }
    

    新VC的viewDidLoad中的代码。

    - (void)viewDidLoad{
        [super viewDidLoad];
        // Do any additional setup after loading the view.
    
        NSLog(@"mapViewController");
    
        NSString *URLAddressForMap = @"this is where the link to the map goes";
        NSURL *urlForMap = [NSURL URLWithString:URLAddressForMap];
        NSURLRequest *loadMap = [NSURLRequest requestWithURL:urlForMap];
    
        [myWebView loadRequest:loadMap];
    }
    

    这是segue没有触发的函数。我知道它没有被解雇,因为我在日志中看不到此行的任何输出:NSLog(@"mapViewController");

1 个答案:

答案 0 :(得分:3)

在故事板中,选择mapViewController,然后单击Identity Inspector。第一项应该是Custom Class,Class name应该设置为mapViewController类的名称。