0

私はメソッド スウィズリングにかなり慣れていないので、NSNotificationCenter への誤った呼び出しの結果である可能性が高い問題のトラブルシューティングに使用したいと考えています。これを行うには、NSNotificationCenter の postNotification メソッドへの各呼び出しをログアウトするためにスウィズルしたいと考えています。私が抱えている問題は、名前の始まりが同じである2つのメソッドがあることです(ここでは、それらの実装が入れ替わっています):

- (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:)

私は何が欠けていますか?

4

1 に答える 1

2

いいえ。メソッドの名前はpostNotificationName:object:postNotificationName:object:userInfo:であるため、同じではありません。

于 2016-02-17T20:52:27.110 に答える