我想创建一个类别来“扩展”CGPath 的“类别”并添加更多功能。因为 CGPath 不是 ObjectiveC 的常规对象,我该怎么做?
请原谅我对c/c++的了解不足
最佳答案
很简单,您只需编写 C 函数即可。不过,您应该注意名称冲突,因此请为函数名称添加前缀。如果您需要一个从 NSData*
或 sth 创建 CGPath
的函数。像这样,您只需声明并实现一个名为 RDCGPathCreateWithData(NSData *data)
的 C 函数(使用 RubberDuck 的 RD 前缀;D)。
在你的头文件中,只需声明函数,并在实现文件中实现它们。对于我的示例,这看起来像这样:
RDCGPath.h
#ifndef RDCGPATH_H
#define RDCGPATH_H
CGPathRef RDCGPathCreateWithData(NSData *data);
// any other function declarations
#endif
RDCGPath.m
#include "RDCGPath.h"
CGPathRef RDCGPathCreateWithData(NSData *data) {
//...
}
// imlementation of other functions
.h 文件中的预处理器指令称为包含保护。它们可以防止您因多次使用相同的声明而出错。
关于ios - 如何创建一个类别来扩展 CGPaths?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18772856/