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 回答