我有一个核心数据字段,它是一个可选的字符串。有时在我的 json 响应中,我会返回 null。如果我不执行下面的代码检查,程序就会崩溃。有一个更好的方法吗?
story.author = [newsStory valueForKeyPath:@"author_title"] != [NSNull null] ? [newsStory valueForKeyPath:@"author_title"] : @"Staff Writer";
我有一个核心数据字段,它是一个可选的字符串。有时在我的 json 响应中,我会返回 null。如果我不执行下面的代码检查,程序就会崩溃。有一个更好的方法吗?
story.author = [newsStory valueForKeyPath:@"author_title"] != [NSNull null] ? [newsStory valueForKeyPath:@"author_title"] : @"Staff Writer";
你的方式看起来不错。如果你最终经常使用这个习语,你可以在 Xcode 的数据模型中将此属性的默认值设置为“Staff Writer”。
请注意,从 Mac OS X 10.5 开始,您可以替换[newsStory valueForKeyPath:@"author_title"]
为更易于阅读的点语法newsStory.author_title
。这两个语句使用与Core Data Programming Guide中描述的完全相同的代码路径。