6
我是一个新手,试图将免费软件应用程序上次更新到2008年,并且自(显然)被程序员放弃,他们没有回复我的电子邮件,以及既为目前的MacOS更新它,也为iPhone创建一个版本。我想这将是一个漫长而有点噩梦的过程,但我很期待学习。新手试图了解.h文件中的多个@interface
现在我在开始阶段,我期待在原始以下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
后跟一个冒号是什么?
非常感谢您的帮助解释。
我也喜欢在我的.m文件的顶部声明接口以实现人造私有方法,因为这些接口只能由类本身看到,而不能由其他类看到(当然,它们仍然可以调用,应该一个外部类现在他们在那里)。 – Simon
@Simon yep,我也会补充一点。 – 2012-09-24 18:34:09
非常感谢! –