2 primitive properties objective-c
我正在尝试编写一个库,以便它足够通用,有用.问题是它需要更新其他类的属性,属性和类都应该是动态的.
现在我可以使用公共变量做到没有问题,我只是传递一个指向我想要更新的变量的指针.然而,设置类的属性也是非常有用的,因为它们在目标C中被如此自由地使用.
现在,只要属性是对象类型,尝试设置基本类型属性,这也不是问题.
我当前的代码看起来像这些行的属性:
NSInvocation* invoc = [NSInvocation invocationWithMethodSignature:[[myInstance class] instanceMethodSignatureForSelector:mySelector]];
[invoc setTarget:myInstance];
[invoc setSelector:mySelector];
[invoc setArgument:&myObject atIndex:2];
[invoc invoke];
Run Code Online (Sandbox Code Playgroud)
但是,setArgument方法仅允许指针类型,但允许属性具有任何基本类型.有没有办法动态分配基本类型属性?
KVO应该为您进行转换:
[object setValue:[NSNumber numberWithInt:i] forKey:@"myVar"];
Run Code Online (Sandbox Code Playgroud)
NSNumber如果myVar定义为:将转换为int :
int myVar;
...
@propery (nonatomic) int myVar;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2714 次 |
| 最近记录: |