我试图对来自Web服务的数据(JSON RESPONSE)进行比较,并在Objective C类I上比较以下代码。
我必须提一下,在viewdidload上我将next_page_url设置为null,否则我会收到错误。改变如下所示:
next_page_url = @"null";
这是回复:
{
"count": 16,
"next": "http://api.domain.com/user-search/?page=2&subject=a",
"previous": null,
"results": [
{
"name": "Guillermo Davila",
"nick": "gdavila",
"avatar_s": "http://domain.com/images/image_9994449333.jpg",
"user_rate": "$5/h",
"id": 3,
"subjects": "Web Development and 1 other subject",
"bio": "I am a programmer"
}]
}
这是Controller.m
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (next_page_url == (id)[NSNull null]) {
NSLog(@"NEXT_PAGE_URL: IS NULL URL-->%@",next_page_url);
return myObject.count;
} else {
NSLog(@"NEXT_PAGE_URL: NOT NULL +1 NEXT_PAGE_URL-->%@",next_page_url);
return myObject.count+1;
}
}
它的作用是,加载时默认显示加载指示器,因为它总是说next_page_url不为空。
答案 0 :(得分:0)
替换此next_page_url = @“null”;对此:next_page_url = null;
答案 1 :(得分:0)
不要将对象与==进行比较
它比较了指针地址,它们可能不一样。
另外,您应该了解NULL
,Nil
,nil
和[NSNull null]
之间的区别:
NULL
,不要在Objective-c中使用它
Nil
是一个空类
nil
表示没有实例,指向任何内容的指针
[NSNull null]
用于表示空对象集合。您无法将nil插入NSArray
或NSDictionary
,因此您可以使用它。
所以如果你想检查nil,如果确实有任何实例
if (next_page_url) {
如果您需要检查是否有[NSNull null]
对象使用
if([next_page_url isEqual:[NSNull null]]){
此代码错误:
if (next_page_url == (id)[NSNull null]) {
答案 2 :(得分:0)
您可以像这样检查...并更改您的密钥而不是“next_page_url”
if ((NSNull*)next_page_url != [NSNull null] && next_page_url != NULL)
NSLog(@"This value is not contain with nulll value");
else
NSLog(@"This value is contain with nulll value");
我希望它会对你有所帮助。