If you look at the Go to ARC Release Notes , it says:
You cannot use object pointers in C. structures
Instead of using a structure, you can create an Objective-C class to manipulate data instead.
If you are watching a video of WWDC 2011 Introducing automatic reference counting , it raises the question of why this is so on a slide called βRule No. 2β / 4: There are no object pointers in C-structures (slide # 21), namely:
The compiler needs to know when links come and go
Structures
Cs do not satisfy this criticism, so they advise using objects instead. You can use __unsafe_unretained in conjunction with C structures, but that means the name becomes obvious, insecure, and harms many of the benefits of ARC.
source share