objective-c – 新手试图理解.h文件中的多个@interface
发布时间:2020-12-16 03:35:09 所属栏目:百科 来源:网络整理
导读:我是一个新手,试图在2008年更新一个免费软件应用程序,然后(显然)被程序员放弃,他们没有回复我的电子邮件,并且都为当前的MacOS更新了它,并且还创建了一个版本.苹果手机.我想这将是一个漫长而有点噩梦的过程,但我很期待学习. 现在我处于开始阶段,我正在查看原
我是一个新手,试图在2008年更新一个免费软件应用程序,然后(显然)被程序员放弃,他们没有回复我的电子邮件,并且都为当前的MacOS更新了它,并且还创建了一个版本.苹果手机.我想这将是一个漫长而有点噩梦的过程,但我很期待学习.
现在我处于开始阶段,我正在查看原始的以下GeniusPair.h文件: #import <Foundation/Foundation.h> @class GeniusItem; @class GeniusAssociation; extern const int kGeniusPairDisabledImportance; extern const int kGeniusPairMinimumImportance; extern const int kGeniusPairNormalImportance; extern const int kGeniusPairMaximumImportance; @interface GeniusPair : NSObject <NSCoding,NSCopying> { GeniusAssociation * _associationAB; //!< Stats for standard learning mode directional relationship. GeniusAssociation * _associationBA; //!< Stats for Jepardy style learning mode directional relationship. NSMutableDictionary * _userDict; } + (NSArray *) associationsForPairs:(NSArray *)pairs useAB:(BOOL)useAB useBA:(BOOL)useBA; - (id) initWithItemA:(GeniusItem *)itemA itemB:(GeniusItem *)itemB userDict:(NSMutableDictionary *)userDict; //various other methods declared @end @interface GeniusPair (GeniusDocumentAdditions) - (BOOL) disabled; //various other methods declared @end @interface GeniusPair (TextImportExport) - (NSString *) tabularTextByOrder:(NSArray *)keyPaths; //various other methods declared @end 我的问题是(问题是):为什么.h文件中有多个接口? @interface GeniusPair:NSObject和@interface GeniusPair(TextImportExport)有什么区别?什么让@interface后跟括号中的内容与@interface后跟冒号? 非常感谢您的帮助解释. 解决方法
它被称为一个类别.类别对于扩展类(当您没有源代码,如UIKit或Foundation类)或将类的扩展/高级功能与其基本方法分离时很有用(这是您遇到的情况).
当在.m文件中的实现(而不是声明)上下文中使用时,它们还可用于模拟私有方法. 更多关于Apple Developer.的话题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |