如果我做这样的事情可以吗:

  -(void)example{
       __weak __typeof__(self) weakSelf = self;

       dispatch_queue_t dispatchQueue = dispatch_queue_create("q_getRestaurants", NULL);
       dispatch_async(dispatchQueue, ^{

           dispatch_async(dispatch_get_main_queue(), ^{
                [weakSelf doSomething];
           });
       });
    }



   -(void)doSomething{
       //can i use self inside this method????
       self.view.backgroundColor = [UIColor redColor];
   }

问题是我想知道如果我在 do something 方法中使用 self 是否可以,该方法是从具有 weakSelf 调用的队列中调用的。

最佳答案

是的。你在那里很好。仅保留块本身内部的变量。

关于ios - 在内部使用 self 的队列调用方法上的weakSelf,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22538443/

10-14 17:57