将const放在Objective C的类中

时间:2016-06-17 13:45:12

标签: objective-c

如果我把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

1 个答案:

答案 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;
}

注意:您应该为每个实现文件实现一个类。