如何在字符串中表达OTHER类的选择器?

时间:2012-11-04 11:48:53

标签: objective-c xcode4.5

说我在myClass.m

我知道我能做到:

SEL aSelector = @selector(methodName);

我可以做后者NSStringFromSelector(@selector(Bookmark)),例如。

这里,methodName是myClass的选择器。

假设我有一个名为myProperty的属性myPropertyClass,该类有一个选择器myPropertymethodname

如果我想使用字符串表达该选择器,我应该如何访问它。

基本上有时我们想要使用valueForKey而不是直接访问访问者。但是,这很容易出错。我想改用NSStringFromSelector

SEL aSelector = @selector(myPropertyClass.myPropertymethodname);

不起作用。

1 个答案:

答案 0 :(得分:2)

对于属性的默认名为getter:

SEL aSelector = @selector(myPropertymethodname);

对于属性的默认名为setter:

SEL aSelector = @selector(setMyPropertymethodname:);
                          ^^^^                   ^

然后确保选择器/属性声明在您正在编译的文件中可见。

请注意,选择器的名称不能限定为特定类的范围。