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

前端之家收集整理的这篇文章主要介绍了objective-c – 使用魔术词为类别添加前缀的惯例是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
具有类别的约定是在扩展Apple类时包含前缀.例如:
[string XXDataUsingUTF8];

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

我不太清楚的是当标识符以copy,set,init或new开头时的约定.

例如:

[request setHTTPBodyWithKeyValues: keyValues];

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

[request XXSetHTTPBodyWithKeyValues: keyValues];

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

[request setXXHTTPBodyWithKeyValues: keyValues];

这对于s​​et来说并不是非常重要,但我认为使用init,copy等会变得更加重要.

Apple在任何地方都有记录吗?什么是常用的?

解决方法

您可以在接口声明中显式设置方法系列:
@interface NSObject (StevenFisherCategory)

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

@end
原文链接:https://www.f2er.com/c/119940.html

猜你在找的C&C++相关文章