使用魔术词为类别添加前缀的惯例是什么?

Ste*_*her 7 objective-c categories

具有类别的约定是在扩展Apple类时包含前缀.例如:

[string XXDataUsingUTF8];
Run Code Online (Sandbox Code Playgroud)

(是的,这是一个愚蠢的例子.只要顺其自然.)

什么我就不太清楚的是惯例是什么时候开始的标识符用copy,set,initnew.

例如:

[request setHTTPBodyWithKeyValues: keyValues];
Run Code Online (Sandbox Code Playgroud)

如果我添加我的前缀,这不再遵循"setters start with set"约定.

[request XXSetHTTPBodyWithKeyValues: keyValues];
Run Code Online (Sandbox Code Playgroud)

另一方面,如果我在集合之后添加前缀,它不再是真正的前缀:

[request setXXHTTPBodyWithKeyValues: keyValues];
Run Code Online (Sandbox Code Playgroud)

这是不是非常有进口set,但我认为它变得更重要init,copy等等.

Apple在任何地方都记录过这个 什么是常用的?

rob*_*off 11

您可以在接口声明中显式设置方法系列:

@interface NSObject (StevenFisherCategory)

- (NSData *)XXCopyDataUsingUTF8 __attribute__((objc_method_family(copy)));

@end
Run Code Online (Sandbox Code Playgroud)