3

これを行うには多くの方法がありますが、IOS 6 アプリの現在の最新の正しい方法は何ですか?

これが私が今していることです:

- (void)viewDidLoad
{
    [super viewDidLoad];

    __weak MyViewController *weakSelf = self;

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
                                         (unsigned long)NULL), ^(void) {
        // Do work that will take a long time
        // Store data in member variables, etc.

        // Update the UI 
        dispatch_async(dispatch_get_main_queue(), ^{
            [weakSelf.myTableView reloadData];
        });
    }
}

ARC では __weak 参照は必要ないと思いますが、100% 確実ではありません。

4

1 に答える 1

3

あなたがしていることは完全に正しい方法です!ブロックを使用する場合は弱参照が必要であり、完全に ARC です。ARC が登場する前は、「弱い」という言葉はまだ存在していませんでした。

于 2012-12-13T16:53:47.370 に答える