2011-09-14 109 views
3

Xcode可以將空字符串設置爲缺省值NSString type屬性?或[NSDate date]作爲默認值NSDate類型屬性?Xcode中的NSManagedObject屬性的默認值

+0

這是很好的解決方案。 也檢查此解決方案[CoreData - 不能將空字符串設置爲屬性的默認值] [1] [1]:http://stackoverflow.com/questions/5154708/coredata-cant-set-empty-字符串作爲默認值的屬性 – Punita

回答

10

您將不得不以編程方式執行這兩個操作。但是,您不能讓[NSDate date]成爲默認值(因爲在您設置該默認值時,您只需在設置默認值的特定時間使用日期,而不是在創建MO時)。

您應該創建的NSManagedObject一個子類,並實現awakeFromInsert方法:

- (void)awakeFromInsert 
{ 
    [super awakeFromInsert]; 

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

我想。順便說一句,不是'[NSString string]'更適合獲取空字符串嗎? – user500

+0

沒有太大區別。兩者都有效。 @「」是編譯時常量。 [NSString字符串]在運行時創建。沒有太大的區別。這裏不要擔心。 – Enchilada

+0

文檔建議您應該使用setPrimitiveValue:forKey:而不是訪問器。 – Andy