元のメソッドをswizzledメソッドから呼び出す方法はありますか?元のメソッドをswizzledメソッドから呼び出す方法は?
元のメソッドがコードに置き換えます
[[UIWindow class] jr_swizzleMethod:@selector(originalMethod) withMethod:@selector(swizzledMethod) error:nil];
swizzledMethod
に次のコードでは、再帰を作ります!
[self originalMethod];
この問題を解決するにはどうすればよいですか?
私はスウィズリングのために次のライブラリを使用します。
// JRSwizzle.h semver:1.0
// Copyright (c) 2007-2011 Jonathan 'Wolf' Rentzsch: http://rentzsch.com
// Some rights reserved: http://opensource.org/licenses/MIT
// https://github.com/rentzsch/jrswizzle
#import <Foundation/Foundation.h>
@interface NSObject (JRSwizzle)
+ (BOOL)jr_swizzleMethod:(SEL)origSel_ withMethod:(SEL)altSel_ error:(NSError**)error_;
+ (BOOL)jr_swizzleClassMethod:(SEL)origSel_ withClassMethod:(SEL)altSel_ error:(NSError**)error_;
@end
リンクされた質問役に立てば幸い:http://stackoverflow.com/questions/11504133/swizzling-and-super – Dmitry