说我在myClass.m
我知道我能做到:
SEL aSelector = @selector(methodName);
我可以做后者NSStringFromSelector(@selector(Bookmark))
,例如。
这里,methodName是myClass的选择器。
假设我有一个名为myProperty的属性myPropertyClass,该类有一个选择器myPropertymethodname
如果我想使用字符串表达该选择器,我应该如何访问它。
基本上有时我们想要使用valueForKey而不是直接访问访问者。但是,这很容易出错。我想改用NSStringFromSelector
SEL aSelector = @selector(myPropertyClass.myPropertymethodname);
不起作用。
答案 0 :(得分:2)
对于属性的默认名为getter:
SEL aSelector = @selector(myPropertymethodname);
对于属性的默认名为setter:
SEL aSelector = @selector(setMyPropertymethodname:);
^^^^ ^
然后确保选择器/属性声明在您正在编译的文件中可见。
请注意,选择器的名称不能限定为特定类的范围。