MulleDynamicObject

Base class that provides dynamic property support in mulle-objc. Enables dynamic property access and automatic method generation for property accessors.

Base Class

NSObject

Instance Variables

struct mulle__pointermap   __ivars;  // Maps property names to values

Methods

Initialization

Dynamic Property Support

Internal Support

Usage Example

// Create dynamic object with property
@interface MyDynamic : MulleDynamicObject
@property(dynamic) NSString *name;
@end

@implementation MyDynamic
@dynamic name;
@end

// Use dynamic property
MyDynamic *obj = [MyDynamic new];
obj.name = @"Hello";  // Uses dynamic setter
NSString *name = obj.name;  // Uses dynamic getter

Important Notes

  1. Property Types
  2. Implementation Details
  3. Memory Management
  4. Restrictions
  5. Generic Types
typedef NS_ENUM(NSInteger, MulleObjCGenericType)
{
    MulleObjCGenericTypeVoidPointer = 0,  // as is
    MulleObjCGenericTypeStrdup,           // strdup/free
    MulleObjCGenericTypeAssign,           // just like void pointer
    MulleObjCGenericTypeRetain,           // retain/autorelease
    MulleObjCGenericTypeCopy,             // copy/autorelease
    MulleObjCGenericTypeValue,            // wrap into NSValue
    MulleObjCGenericTypeNumber            // wrap into NSNumber
};