所以我想说我有以下代码
部首:
#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中的优点和缺点是什么,而不是仅将其包含在使用它的类中。
调用返回常量的方法而不是直接调用常量有什么好处。
或者所有这些只是一个意见问题?
感谢。
答案 0 :(得分:0)
您不能从类外部访问实现中的常量,除非常量在头文件中,在这种情况下不是。可以直接在类中使用常量,但是外部类需要静态方法(如果它是静态的)或实例方法来返回值。