diff --git a/src/ObjCBindings/ExportTag.cs b/src/ObjCBindings/ExportTag.cs index d10165e9fbf..38bd2255526 100644 --- a/src/ObjCBindings/ExportTag.cs +++ b/src/ObjCBindings/ExportTag.cs @@ -97,6 +97,21 @@ public enum Property : Int64 { /// CustomMarshalDirective = 1 << 5, + /// + /// Apply to strings parameters that are merely retained or assigned, + /// not copied this is an exception as it is advised in the coding + /// standard for Objective-C to avoid this, but a few properties do use + /// this. Use this falg for properties flagged with `retain' or + /// `assign', which look like this: + /// + /// @property (retain) NSString foo; + /// @property (assign) NSString assigned; + /// + /// This forced the generator to create an NSString before calling the + /// API instead of using the fast string marshalling code. + /// + DisableZeroCopy = 1 << 6, + } }