假设我有以下代码
页眉:
#import <Foundation/Foundation.h>
FOUNDATION_EXPORT NSString* const kTHBaseUrl;
@interface THSharedObject : NSObject
+ (THSharedObject*)shared;
- (NSString*)baseUrl;
@end
实现:
#import "THSharedObject.h"
NSString* const kTHBaseURL = @"http://0.0.0.0/";
@implementation THSharedObject
static THSharedObject* shared;
+ (void)initialize
{
static BOOL initialized = NO;
if(!initialized) {
initialized = YES;
shared = [[THSharedObject alloc] init];
}
}
+ (THSharedObject*)shared
{
return shared;
}
- (NSString*)baseUrl
{
return kTHBaseURL;
}
- (MyModelObject*)globalModel
{
return instanceOfModel;
}
@end
我应该将此文件包含在 .pch 中,还是应该仅将其包含在使用共享对象的文件中。
调用 kTHBaseURL 常量,还是调用返回常量 [[THSharedObject shared] baseUrl] 的实例化方法更合适;
将文件包含在 pch 中与仅将其包含在使用它的类中相比,有什么优点和缺点。
调用返回常量的方法与直接调用常量相比有什么优点。
还是所有这一切都只是见仁见智的问题?
谢谢。
您无法从类外部访问实现中的常量,除非该常量位于头文件中,在这种情况下不是。 可以直接在类内部使用常量,但外部类需要一个静态方法(如果是静态的)或实例方法来返回值。