iPhoneのコアデータで使用されるNSManagedObjectクラスのサブクラスがあります。しかし、私はそのクラスに追加したい一時的な "フィールド"(ivar)を持っています(しかし、データストアで永続化したくありません)。非公式かつ正式なプロトコルを使用しようとしましたが、どちらも私に "静的変数"のような振る舞いを与えます。 (これは、インスタンス変数ではなくクラス変数のように動作します)。なにか提案を?NSManagedObjectサブクラスにivarを追加
おそらくNSManagedObjectのサブクラスでテスト「ダミー・クラス」を作成した私の最初の試みは、その後、私はテストカテゴリを作成し
@interface Test (custom)
NSString *_string ;
- (void)setString:(NSString *)newString;
- (NSString *)string;
@end
これらは通常のセッターとゲッターです。これは私が
テストクラスを使用する方法Test *a = [[Test alloc] init];
Test *b = [[Test alloc] init];
[a setString:@"Test1"];
NSLog(@"%@", [a string]); //This will print out Test1
[b setString:@"Test2"];
NSLog(@"%@", [b string]); //This will print out Test2
NSLog(@"%@", [a string]); //Unfortunately, this will also print out Test2
私が直接(私のエンティティである)NSManagedObjectのサブクラスで混乱もできたが、私はそれはそれを行う方法であると思ういけないです。
コードのブロックを正しくレンダリングすることを歓迎します。簡単な方法があります:最初に空の行を挿入してから、コードの各行を4つ以上のスペースでインデントしてください! – Yuji
ヒントありがとう – Rpranata