如何调用具有相同名称的方法(NSNotificationCenter postNotificationName)?

时间:2016-02-17 20:50:44

标签: objective-c method-swizzling

我对方法调整很新,我想用它来解决我遇到的问题,这可能是对NSNotificationCenter的错误调用造成的。为此,我想调动每次调用NSNotificationCenter的postNotification方法。我遇到的问题是,有两种方法具有相同的名称开头(这里是他们想要的混合实现):

- (void) xxx_postNotificationName:(nonnull NSString *)notiifcationName object:(nullable id) obj {
    [self xxx_postNotificationName:notiifcationName object:obj];
}

- (void) xxx_postNotificationName:(nonnull NSString *)notificatioName object:(nullable id)obj userInfo:(nullable NSDictionary *)userInfo {
    [self xxx_postNotificationName:notificatioName object:obj userInfo:userInfo];
}

如何通过以下调用将这些识别为单独的选择器?

SEL originalSelector = ...

不管他们都有表格吗?

SEL originalSelector = @selector(postNotificationName:)

我错过了什么?

1 个答案:

答案 0 :(得分:2)

没有。方法的名称为postNotificationName:object:postNotificationName:object:userInfo:,因此它们不相同。