Let's say in iOS we have:
In W2AppDelegate.m:
GlobalViewController *globalVc; - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ... }
In SomeOtherViewController.m:
- (void)viewDidLoad { [super viewDidLoad]; [globalVc doSomething^{ [globalVc.someVariable doSomethingElse]; // Is there a retain cycle here? }]; }
Is there a retain cycle here since we have a strong reference to globalVc inside the block.
globalVc -> block -> globalVc