2012-07-11 49 views
0

我有一個核心數據字段是一個可選的字符串。有時在我的json響應中,我將返回null。如果我不在下面執行下面的代碼檢查,程序就會崩潰。有一個更好的方法嗎?CoreData防止NSNull

story.author = [newsStory valueForKeyPath:@"author_title"] != [NSNull null] ? [newsStory valueForKeyPath:@"author_title"] : @"Staff Writer"; 
+1

您可以將支票包裝到Maccro中。 可能轉貼:http://stackoverflow.com/questions/9137920/nsnull-handling-for-nsmanagedobject-properties-values的 – 2012-07-11 15:19:39

+0

可能重複的[NSNull處理爲NSManagedObject屬性的值](HTTP://計算器。 COM /問題/ 9137920/nsnull裝卸換nsmanagedobject - 屬性 - 值) – 2012-07-11 17:42:24

回答

0

你的方式看起來不錯。如果您最終使用了這種習慣用法,您可以在Xcode的數據模型中將該屬性的默認值設置爲「Staff Writer」。

注意從Mac OS X 10.5起,您可以使用易於閱讀的點語法newsStory.author_title替換[newsStory valueForKeyPath:@"author_title"]。這兩個語句使用與Core Data Programming Guide中描述的完全相同的代碼路徑。