2011-09-14 15 views
3

Xcodeでは、空の文字列をデフォルト値のNSStringのtype属性として設定できますか?または[NSDate date]のデフォルト値はNSDateです。XcodeのNSManagedObject属性のデフォルト値

+0

これは良い解決策です:

あなたはawakeFromInsert方法をNSManagedObjectのサブクラスを作成して実装する必要があります。 [CoreData - 属性のデフォルト値として空の文字列を設定できません] [1] [1]:http://stackoverflow.com/questions/5154708/coredata-cant-set-empty-デフォルト値の属性としての文字列 – Punita

答えて

10

プログラムで両方を実行する必要があります。ただし、[NSDate date]をデフォルト値にすることはできません。そのデフォルト値を設定するときは、MOが作成されたときではなく、デフォルト値を設定した特定の時刻に日付を使用するだけです。

- (void)awakeFromInsert 
{ 
    [super awakeFromInsert]; 

    [self setDateAttribute:[NSDate date]]; 
    [self setStringAttribute:@""]; 
} 
+1

私は考えました。ところで、 '[NSString string]'は空文字列を得るのにもっと適していますか? – user500

+0

違いはあまりありません。どちらも動作します。 @ ""はコンパイル時定数です。 [NSString string]は実行時に作成されます。あまり違いはありません。ここでそれを心配しないでください。 – Enchilada

+0

ドキュメントでは、アクセサの代わりにsetPrimitiveValue:forKey:を使用することを推奨しています。 – Andy

関連する問題