0

ナビゲーションコントローラーで管理されるさまざまなViewControllerを備えたアプリがあります。1つのViewControllerで、ユーザーを認証するためにWebサービスにリクエストを送信しています。応答をBOOL(isLoggedIn)で記述しています。次に、このBOOLとユーザー名を別のViewControllerで使用する必要があります。カスタムナビゲーションボタンのタイトルを変更するには、変数が必要です([ログイン]-> [ログアウト])。また、他のViewControllerでは、Webサービスに何かを送信する必要がありますが、呼び出しを行うことができるのは認証されたユーザー(isLoggedIn)のみです。私はそれが十分に説明されていることを願っています:)それで、私はこの仕事をするためにどんな可能性が必要ですか?シングルトンクラスを作成するために何かを読んだことがありますが、これは適切な方法ですか?

または、LoginViewControllerから影響を受けるViewControllerに何らかの方法で接続する必要がありますか?これどうやってするの?今は、prepareForSegueメソッドを使用してDetailViewControllerを参照し、データを渡しました。

4

1 に答える 1

1

次のようなシングルトン実装を作成できます。

static SingletonClass *_sharedClass = nil;
@implementation SingletonClass

@synthesize sharedVar;

+ (SingletonClass*)sharedClass
{
    if (_sharedClass == nil) {
        _sharedClass = [[SingletonClass alloc] init];
    }
    return _sharedClass;
}

- (id)init
{
    if ((self = [super init])) {
        //init any class vars you need
    }
    return self;
}
@end

次に、sharedVarをクラスのプロパティにします。アプリのどこからでも、次を使用できます。

[[SingletonClass sharedClass] sharedVar];

それにアクセスします。

于 2012-05-02T20:02:39.990 に答える