0

だから私は次のコードを持っているとしましょう

ヘッダ:

#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 にファイルを含めることの利点と欠点は何ですか。

定数を直接呼び出すのではなく、定数を返すメソッドを呼び出す利点は何ですか。

それとも、これはすべて単なる意見の問題ですか?

ありがとう。

4

1 に答える 1

0

定数がヘッダーファイルにある場合を除いて、クラスの外部から実装内の定数にアクセスすることはできません。この場合はそうではありません。クラス内で定数を直接使用しても問題ありませんが、外部クラスでは、値を返すために静的メソッド(静的メソッドの場合)またはインスタンスメソッドが必要です。

于 2012-08-08T19:51:47.230 に答える