我正在做一个练习,我必须创建一个类扩展以及一个自定义方法。 我决定使用typedef来允许在我的方法中使用参数。
这是有效的标题代码:
#import "XYZPerson.h"
typedef NS_ENUM(NSUInteger, XYZNameDisplay) {
XYZNameDisplayDefault,
XYZNameDisplayReversed
};
@interface XYZPerson (XYZNameDisplay)
- (NSString *)xyz_nameDisplayWithParameter:(XYZNameDisplay)p;
@end
这里有两个问题:
@interface
或@"implementation
之外声明和实例变量的后果是什么?编辑21-nov-2014:我已经尝试将typedef放在@"interface
中的括号之间,但它会返回错误。
谢谢!
答案 0 :(得分:1)
typedef
的范围是包含/导入包含typedef的头文件的任何文件。
在@interface
或@implementation
之外声明的变量不是实例变量。它将是某种类型的全局(取决于它的声明位置)。
typedef不是任何类型的变量。这是一种数据类型。
仅供参考 - 您的任何问题都与课程扩展无关。