你如何通过名字给财产安装者打电话?

jta*_*ico 5 objective-c

我问过一个相关的问题,但我想我会把它分成自己的问题.请参阅以下代码以调用属性getter.

SEL propSelector = NSSelectorFromString(propertyName);
NSInvocation *inv = [NSInvocation invocationWithMethodSignature:[[target class]instanceMethodSignatureForSelector:propSelector]];
[inv setSelector:propSelector];
[inv setTarget:target];
[inv invoke];
float value;
[inv getReturnValue:&value];
Run Code Online (Sandbox Code Playgroud)

我想做同样的事情,但打电话给物业SETTER.我还想避免通过构建@"setPropertyName:"字符串手动制作setter名称.底线 - 是否可以使用此行创建的选择器来调用setter

SEL propSelector = NSSelectorFromString(propertyName);
Run Code Online (Sandbox Code Playgroud)

bbu*_*bum 10

使用键值编码.

[someObject setValue: anObjectValue forKey: @"foo"];