比较空的NSURL

时间:2015-02-03 00:27:46

标签: ios objective-c xcode nsurl

我需要你的帮助。我有一个来自这个

的NSURL对象
NSURL *myImageUrls = [[feeds objectAtIndex:indexPath.row] objectForKey: @"url"];
if(myImageUrls == nil){
    NSLog(@"URL empty %@", myImageUrls);
}
else{
    //NSURL *url = imageUrls;
    NSLog(@"Image URL:%@", myImageUrls);
}

NSLog显示图像URL:表示myImageUrls为空,但if语句永远不会被打印。如果NSURL对象为空,如何打印它。我已经尝试了myImageUrls == null和[myImageUrls length] = 0,但if块永远不会打印出来。

2 个答案:

答案 0 :(得分:15)

如果您的NSLog打印"图片网址:"并不表示您的NSURL为零或无效;它表示您的NSURL 字符串为空。如果您的NSURL为空但仍在执行第二个条件,则您的NSLog会打印:"图片网址:( null)"代替。

要检查您的NSURL字符串是否为空(因为您好像是在数组的所有索引中存储NSURL,但是只需在{"空"索引)中存储空字符串NSURL,将条件更改为以下内容:

if(myImageUrls.absoluteString.length == 0){
    NSLog(@"URL empty %@", myImageUrls);
}
else{
    //NSURL *url = imageUrls;
    NSLog(@"Image URL:%@", myImageUrls);
}

答案 1 :(得分:4)

NSURL包含方法checkResourceIsReachableAndReturnError

NSURL *myURL = [NSURL URLWithString:string];
    NSError *err;
    if ([myURL checkResourceIsReachableAndReturnError:&err] == NO)
    {
        NSLog(@"resource not reachable");
    }