无法检查NSDictionary对象的值是否为null

use*_*761 0 objective-c nsdictionary

我尝试检查NSDictionary的objectforkey值.但我不能.在调试模式下,它表示值为: LastOrderId = "<null>";; 此代码或使用isEqualtoString修改的代码不起作用.

lastorderId=[theItem objectForKey:@"LastOrderId"];
if(lastorderId==nil)
        lastorderId=@"0";
Run Code Online (Sandbox Code Playgroud)

当我尝试使这段代码工作时:

NSInteger *newvalue = [[theItem valueForKey:@"LastOrderId"]integerValue] ;
Run Code Online (Sandbox Code Playgroud)

,它给出了这个错误:

-[NSNull integerValue]: unrecognized selector sent to instance 0x3abeba70
Run Code Online (Sandbox Code Playgroud)

如何检查这是否为空?谢谢.

das*_*ght 8

由于Cocoa集合不能存储nils,NSNull因此存储一个特殊对象来表示nils.nil但是,这些对象不是s,因此您尝试的检查不起作用.你可以这样做:

lastorderId=[theItem objectForKey:@"LastOrderId"];
if(lastorderId==[NSNull null]) {
    lastorderId=@"0";
}
Run Code Online (Sandbox Code Playgroud)