objective-c - 在Objective C中,是否可以从类外部使用选择器?

标签 objective-c ios selector

例如我有一个看起来像这样的方法

[self performSelectorOnMainThread:@selector(someMethod) 
                       withObject:data
                    waitUntilDone:YES];

其中“someMethod”来自另一个类。如果有可能,我该怎么办?
另外,我想知道如何传递参数。

假设someMethod定义为:
- (void)someMethod:(NSData *)data otherArg:(NSString *)arg;

最佳答案

是的,您也可以调用另一个类的选择器。

如果选择器是类方法-

[ClassName performSelectorOnMainThread:@selector(someMethod:) 
                   withObject:data
                waitUntilDone:YES];

方法签名就像-
+ (void)someMethod:(returntype)somearg

如果选择器是实例方法-
[classInstance performSelectorOnMainThread:@selector(someMethod:) 
                   withObject:data
                waitUntilDone:YES];

方法签名就像-
- (void)someMethod:(returntype)somearg

关于objective-c - 在Objective C中,是否可以从类外部使用选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11077334/

相关文章:

ios - 如何将字符串数据发送到 UIButton 标签?

ios - Unity游戏无法在iPhone 4s上模拟

iOS 9+ 通用链接不适用于 Google 应用

javascript - 如何使用 jquery 选择具有 id 以特定文本开始和结束的元素?

带有可选闭包的 Swift 选择器函数?

iphone - 是否可以在 iPhone 上发送 "silent"推送通知(不向用户发出任何警报)?

iphone - 如何从邮件编辑器获取电子邮件地址

ios - 获取未应用 View alpha 的 View 快照

jquery - 使用 JQuery 选择具有给定选择值的选择

ios - 在后台立即将屏幕截图发送到服务器