FRZSwizzling

Platforms SPM compatible License happn

一个有效的方法调配方案。

安装

可以通过 SPM (推荐),或者通过复制 NSObject+FRZSwizzling.{h,m} 到你的项目中。

重要提示

仓库中包含一个带有共享 scheme 的 xcodeproj 文件,用于调试目的。该项目可能兼容 Carthage—— 也可能不兼容。它未被官方支持,但可能对你有效。

用法

@import FRZSwizzling; /* If installed via SPM. */

@implementation NSView (MyViewAdditions)

static void MySetFrame(id self, SEL _cmd, CGRect frame);
static void (*OriginalSetFrame)(id self, SEL _cmd, CGRect frame);

static void MySetFrame(id self, SEL _cmd, CGRect frame) {
   // ***** CUSTOM WORK HERE *****
   OriginalSetFrame(self, _cmd, frame);
   // ***** OR HERE *****
}

+ (void)load
{
   FSZ_CHECKED_SWIZZLE(NSView, setFrame:, MySetFrame, OriginalSetFrame);
}

@end

开发者说明

FRZSwizzling 源代码文件夹中的 include 文件夹是为了 SPM 兼容性而存在的。它包含一个特殊的 FRZSwizzling.h 伞状头文件,以及一个指向另一个(公共)头文件的软链接。

鸣谢

此项目最初由 François Lamboley 在职于 happn 期间创建。