0

同じビューでメソッドを呼び出すボタンがあります。そのボタンはデータを生成し、別の MapViewControlelr に移動します。最初のビューに「prepareForSegue」メソッドがあります。しかし、その prepareForSegue は、ボタンのクリック直後に最初に呼び出されます。その結果、私の変数はメソッド呼び出しから更新されません。何が問題なのですか?

4

1 に答える 1

0

GCD を使用してデータを非同期にロードし、次のようにセグエを実行する必要があると思います。

dispatch_queue_t queue = dispatch_queue_create("queue", NULL);  
dispatch_release(queue);

dispatch_async(queue, ^(void) {
    // Generate data

    // Main queue
    dispatch_async(dispatch_get_main_queue(), ^(void) {
        // perform segue
            [self performSegueWithIdentifier: @"MySegue" sender: self];
    });
});

また、ボタンから newViewController へのセグエを構成する代わりに、mainViewController から newViewController にperformSegueWithIdentifier構成してから、メソッドを使用します。

于 2012-10-31T03:24:15.233 に答える