0

私はこれで迷っています。すでにインターネット全体でいくつかのことを読んでいますが、私の問題は、シングルトンを適切に使用する方法を理解する必要があることです。私の問題は、私のアプリのある時点で、以下のことを行うことです:

myVariable = [NSEntityDescription insertNewObjectForEntityForName:@"Entity" 
          inManagedObjectContext:context];

他のビューでそれを保存myVariableして使用する必要があります。すべてのビューで変数を使用する場合、これが最善の方法であるとどこかで読みました。私はこの例に従いましたが、使い方が本当にわかりません。誰か説明してもらえますか?:

@interface DataLoader : NSObject {
   NSString *someProperty; 
   //(i think i need myVariable here, and not type NSString)
}

@property (nonatomic, retain) NSString *someProperty;

+ (id)sharedManager;
@end


@implementation DataLoader

+(id)sharedInstance  {
   static dispatch_once_t p=0;
   __strong static id _sharedObject = nil;
   dispatch_once(&p, ^{
    _sharedObject = [[self alloc]init];
   });

return _sharedObject;
}

@end

myVariable を設定してから別のビューで使用するにはどうすればよいですか?

よろしく

4

1 に答える 1

1

通常の方法は、コントローラがナビゲーション スタックにプッシュされるたびに変数を次のコントローラに渡すことですin prepareForSegue:@propertyそれを追跡するために、ビューコントローラーにストロングを与えるだけです。

SomeViewController *nextVC = segue.destinationController;
nextVC.myVariable = self.myVariable;

管理対象オブジェクト コンテキストを使用した Apple のサンプル コードの多くのインスタンスで、これが行われている方法であり、これは確かに適切なパターンです。

于 2013-08-09T23:44:04.000 に答える