gpt4 book ai didi

objective-c - 用魔法词作为类别前缀的惯例是什么?

转载 作者:太空狗 更新时间:2023-10-30 03:36:29 25 4
gpt4 key购买 nike

类别的约定是在扩展 Apple 类时包含一个前缀。例如:

[string XXDataUsingUTF8];

(是的,这是一个愚蠢的例子。随它去吧。)

我不太清楚的是当标识符以 copysetinit 开头时的约定是什么新的

例如:

[request setHTTPBodyWithKeyValues: keyValues];

如果我添加前缀,这将不再遵循“setter 以 set 开头”的约定。

[request XXSetHTTPBodyWithKeyValues: keyValues];

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

[request setXXHTTPBodyWithKeyValues: keyValues];

这对于 set 来说并不是很重要,但我认为它对于 initcopy 等变得更加重要。

Apple 是否在任何地方对此进行了记录?常用的有哪些?

最佳答案

您可以在接口(interface)声明中显式设置方法族:

@interface NSObject (StevenFisherCategory)

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

@end

关于objective-c - 用魔法词作为类别前缀的惯例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9548023/

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