例如,我正在查看CHMutableDictionary.h
@interface CHMutableDictionary : NSMutableDictionary {
CFMutableDictionaryRef dictionary; // A Core Foundation dictionary.
}
- (id) initWithCapacity:(NSUInteger)numItems;
- (NSUInteger) count;
- (NSEnumerator*) keyEnumerator;
- (id) objectForKey:(id)aKey;
- (void) removeAllObjects;
- (void) removeObjectForKey:(id)aKey;
- (void) setObject:(id)anObject forKey:(id)aKey;
@end
大括号CFMutableDictionaryRef dictionary
。但在Objective-C guide Properties Control Access to an Object’s Values中,它没有提及在接口中使用{}
@interface Person : NSObject
@property NSString *firstName;
@property NSString *lastName;
@end
所以我只是想知道{}
文件接口中.h
中定义的变量是什么意思。
答案 0 :(得分:2)
在大括号内声明实例变量。
但是把它们放在.h文件中是不好的形式。实例变量应该是私有的,而不是公共的。所以他们不属于公共.h文件。
有很多旧的Objective-C代码并没有遵循这些更现代的惯例。不要使用那些过时的约定来编写新代码。
有关一些现代示例,请参阅https://stackoverflow.com/a/13263345/1226963。