在解析数据时不可避免会遇到null值~null不能被发送消息,容易崩溃,所以处理数据中的null是相当烦人的事情
if (obj == [NSNULL null]){
// do something
}
这个方法也很烦人,要增加很多代码 而且一点也不优雅~
google 了一下有个比较优雅的办法
#define NULL_TO_NIL(obj) ({ __typeof__ (obj) __obj = (obj); __obj == [NSNull null] ? nil : obj; })
fight.winnerID = NULL_TO_NIL([dict objectForKey:@"winner"]);
这里 NULL_TO_NIL(obj) 会返回一个值;
连接http://stackoverflow.com/questions/9137920/nsnull-handling-for-nsmanagedobject-properties-values