objective c - Convert Obj C code to Swift weak self -


i using code here i'm having difficulty convert the

__weak __typeof(self) weakself = self; 

to swift. there way me convert following code swift? i'm stucked convert swift after reading material said [unowned self] or [weak self].

        __weak __typeof(self) weakself = self;         uiviewcontroller *controller = [self.gamingpageviewcontroller viewcontrolleratindex:index];         [self.gamingpageviewcontroller setviewcontrollers:@[controller]         direction:(self.gamingpageindex<index)?uipageviewcontrollernavigationdirectionforward:uipageviewcontrollernavigationdirectionreverse         animated:no         completion:^(bool finished) {          // method not mess view order in pageview                     uipageviewcontroller* pvcs = weakself.gamingpageviewcontroller;         if (!pvcs) return;         dispatch_async(dispatch_get_main_queue(), ^{         [pvcs setviewcontrollers:@[controller]         direction:uipageviewcontrollernavigationdirectionforward         animated:no completion:nil];         });          }]; 

in swift don't need declare weakself variable outside closure.

just define completion block follows:

{ [weak self] (finished) -> () in ... } 

and use self? inside block, in case may nil.

if self cannot nil, may need use [unowned self] instead of [weak self].


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -