Storage Modifiers (Cocoa)
On the Cocoa platform, which uses ARC rather than Garbage Collection for memory management, the three storage modifier keywords
__unretained are available as extensions to the C# language in order to control how object references are stored in local variables, fields or properties.
By default, all variables and fields are
__strong – that means when an object is stored in the variable, its retain count is increased, and when a variable's value gets overwritten, the retain count of the previously stored object gets reduced by one.
Storage Modifiers are relevant and available on the Cocoa platform only. They can optionally be ignored on .NET and Java when Cross-Platform Compatibility Mode is enabled.