gpt4 book ai didi

objective-c - 如何从 swizzled 调用原始方法?

转载 作者:太空狗 更新时间:2023-10-30 03:39:32 28 4
gpt4 key购买 nike

如何从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

最佳答案

答案很有意思:

[self swizzledMethod]; // will call originalMethod

关于objective-c - 如何从 swizzled 调用原始方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13294420/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com