FMResultSet,column为空的判断

调用
[rs objectForColumnName:@"xxx"];


如果column xxx没有值,则上面代码返回的是NSNull,但是直接判断
if(NSNull){  
}


会被判定为true,从而执行花括号中的代码。所以下面这段代码是错误的:
if([rs objectForColumnName:@"xxx"]){  
    // 当column xxx有值时的逻辑  
}


即使column xxx没有值,也会走到花括号中。正确的写法应该是:
NSNumber *defInt1 = [rs objectForColumnName:@"def_int1"];  
      
if(![defInt1 isEqual:[NSNull null]]){  
    // 当def_int1有值时的逻辑  
}

猜你喜欢

转载自iaiai.iteye.com/blog/2368744