weakSelf在队列调用方法中使用self

时间:2014-03-20 15:56:12

标签: ios objective-c automatic-ref-counting objective-c-blocks

如果我这样做的话可以吗:

  -(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];
   }

问题是,我想知道是否可以使用self来执行从具有weakSelf调用的队列中调用的某些方法。

1 个答案:

答案 0 :(得分:4)

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