如果我把const放到目标C类,
@implementation CLASS_A
const NSString* TAG=@"CLASS_A";
@end
我发现const TAG成为全局变量。而且我不能在一个.m文件中放置两个@implementation,每个都有一个TAG
@implementation CLASS_A
const NSString* TAG=@"CLASS_A";
@end
@implementation CLASS_B
const NSString* TAG=@"CLASS_B"; (Error)
@end
我希望TAG链接到每个具有不同名称的类。我在哪里放置const NSString * TAG = @" CLASS_A"和TAG = @" CLASS_B"在课堂上?
我也试过这个,但是错了。
@implementation CLASS_A
{
const NSString* TAG=@"CLASS_A"; (Error)
}
@end
答案 0 :(得分:0)
创建一个类方法以从外部获取标记:
@interface MyClass : NSObject
+ (NSString *)tag;
...
@end
并使用实现文件(static
)中的.m
来定义它:
#import "MyClass.h"
static NSString * const _tag = @"A tag";
@implementation MyClass
+ (NSString *)tag
{
return _tag;
}
注意:您应该为每个实现文件实现一个类。