gpt4 book ai didi

objective-c - Apple Headers 包含多个类别

转载 作者:搜寻专家 更新时间:2023-10-30 19:55:35 24 4
gpt4 key购买 nike

在细读一些 Apple 头文件时,我注意到它们使用 Categories 为同一对象声明了多个接口(interface)。

例如:NSDictionary.h

@interface NSDictionary : NSObject <NSCopying, NSMutableCopying, NSCoding, NSFastEnumeration>

//methods

@end

@interface NSDictionary (NSExtendedDictionary)

//methods

@end

@interface NSDictionary (NSDictionaryCreation)

//methods

@end

这纯粹是一种帮助组织代码的方式吗?作为用户没有区别,所有类别中的所有方法在使用 NSDictionary 时都会出现。

这还有其他一些有用的结果吗?

最佳答案

nielsbot 的想法是正确的,但分类有特定的技术原因。您可以将实现放在单独的文件中。 (好吧,从技术上讲,不同的翻译单元。)

文件 1:

@implementation NSDictionary
...
@end

文件 2:

@implementation NSDictionary (NSExtendedDictionary)
...
@end

文件 3:

@implementation NSDictionary (NSDictionaryCreation)
...
@end

关于objective-c - Apple Headers 包含多个类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5877510/

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