One, the loop references the most common code types.
-(void) viewdidload { [super viewdidload]; Additional setup after loading the view, typically from a nib. Nsmutablearray *firstarray=[[nsmutablearray Alloc]init]; Nsmutablearray *secondarray=[[nsmutablearray Alloc]init]; [Firstarray Addobject:secondarray]; [Secondarray Addobject:firstarray]; }
Second, a circular reference to the solution.
1, the programmer disconnects a loop manually and stops the circular reference.
2, weak reference. Because a weak reference holds an object, it does not increase the reference count. You can avoid the generation of circular references.
Third, weak references are common examples of avoiding circular references.
There are two viewcontroller, and these two viewcontroller need to pass data to each other. At this time, the delegate member variable of Viewcontroller is usually a weak reference. The purpose is to avoid circular references between the two viewcontroller.
Reference: iOS Development stage-Tang Qi
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
arc-Circular References-workarounds