直接从方法获取选择器? NSSelectorFromMethod([[SomeClass someObject] 方法])?
是否可以?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
是否可以?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
或者,使用:
Alternatively, use:
您在标题中的示例不太清楚。
但我们开始了。 所有类的所有选择器都位于同一名称空间中。 这意味着
Bar
类上的doFoo
或Baz
类上的doFoo
都将是相同的唯一选择器。 这意味着您无需为获取选择器而费心处理类。 两种不错的方法。您的问题还可能涉及如何从方法返回选择器。 由于选择器是 obj-c 中的一等公民,因此我们可以将它们作为任何变量传递,并从方法中返回它们。 选择器的类型是
SEL
。Your example in the header is not quite clear.
But here we go. All selectors for all classes lives int he same namespace. Meaning
doFoo
on the classBar
, ordoFoo
on the classBaz
will both be the same unique selector. This means you do not need to bother with the class in order to get a selector. Two nice ways to do it.Your question could also refer to how to return selectors from a method. Since selectors are first class citizens in obj-c, we can pass them around as any variables, and return them from methods. The type of a selector is
SEL
.Objective-C 运行时有一个名为“method_getName" with 接受一个 Method 对象并返回一个 SEL。
The Objective-C runtime has a function called "method_getName" with takes a Method object and returns a SEL.