我正在尝试编写一个库,以便它足够通用以使其有用。问题是它需要更新其他类的属性,属性和类都应该是动态的。
现在我可以使用公共变量来做到这一点没问题,我只需传递一个指向我要更新的变量的指针。然而,设置类的属性也非常有用,因为它们在目标 C 中被如此广泛地使用。
现在这又不是问题,只要属性是对象类型,尝试设置原始类型属性。
我当前的代码看起来类似于以下属性:
NSInvocation* invoc = [NSInvocation invocationWithMethodSignature:[[myInstance class] instanceMethodSignatureForSelector:mySelector]];
[invoc setTarget:myInstance];
[invoc setSelector:mySelector];
[invoc setArgument:&myObject atIndex:2];
[invoc invoke];
但是 setArgument 方法只允许指针类型,而属性允许具有任何原始类型。有没有办法动态分配原始类型属性?