如何NSString在Objective C中测试a是否为空?
我想知道的区别nil,NIL和null.我用Google搜索了一下,发现了这个:
nil - >指向Objective-C对象的null指针
NIL - >指向Objective-C类的null指针
null - > null指向原始类型或缺少数据的指针
但我无法清楚地理解术语"Objective-C对象"和"类".
请向我解释一下.此外,有没有像任何文字NSNull或NSNil在Objective-C?如果是这样,那么请解释它的用途.
我有一段代码检测如果NSString是NULL,nil等等.然而,它崩溃.这是我的代码:
NSArray *resultstwo = [database executeQuery:@"SELECT * FROM processes WHERE ready='yes' LIMIT 0,1"];
for (NSDictionary *rowtwo in resultstwo) {
NSString *getCaption = [rowtwo valueForKey:@"caption"];
if (getCaption == NULL) {
theCaption = @"Photo uploaded...";
} else if (getCaption == nil) {
theCaption = @"Photo uploaded...";
} else if ([getCaption isEqualToString:@""]) {
theCaption = @"Photo uploaded...";
} else if ([getCaption isEqualToString:@" "]) {
theCaption = @"Photo uploaded...";
}
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
因未捕获的异常而终止应用'
NSInvalidArgumentException',原因:'-[NSNull isEqualToString:]:无法识别的选择器发送到实例 …