ios 如何检查URL是否为空

bwleehnv  于 12个月前  发布在  iOS
关注(0)|答案(9)|浏览(102)

我正在加载一个JSON,但我想检查JSON中的"URL": "",是否为空,有时ID为空,如何检查?

if(URL == HOW TO CHECK IF EMPTY?)
{

}
else
{

}

错误代码:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array'
*** First throw call stack:
wj8zmpe1

wj8zmpe11#

嗯,试试看

if ([URL isEqualToString:@"The URL?"]) {
9bfwbjaz

9bfwbjaz2#

如果URL对象是字符串,则可以使用以下两种方法之一,

if([string length] == 0) { //empty }

if([string isEqualToString:@""]) { // empty }

如果URL对象是NSURL,您可以使用:用途:

if([[url absoluteString] isEqualToString:@""]) { //empty }
qvsjd97n

qvsjd97n3#

if (URL ==  [NSNull null]) {
    //...
} else {
    //...
}

if (URL == nil) {
    //...
} else {
    //...
}

或者检查URL的长度

4c8rllxm

4c8rllxm4#

在处理JSON数据时,我会非常小心。假设我有一个JSON转换成NSDictionary。这样,我需要从字典中提取一个与键“URL”相关联的字符串,并将其转换为NSURL。此外,我对JSON或字符串值没有100%的信心。
我会这样做:

NSURL *URL = nil;
id URLObject = [JSON valueForKey:@"URL"];
if ([URLObject isKindOfClass:[NSString class]] && [URLObject length] > 0) {
    URLObject = [URLObject stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    URLObject = [URLObject stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    URL = [NSURL URLWithString:URLObject];
}

在此之后,URL将具有nil或有效URL。-isKindOfClass:清除NSDictionary、NSArray、NSNumber或NSNull值。-length > 0过滤空字符串(如您所知,这可能会扰乱NSURL)。对URL进行解码然后重新编码的额外偏执处理了部分编码的URL。

jfgube3f

jfgube3f5#

if (url.absoluteString.length==0)
{
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Error" message:@"Please enter a url" delegate:nil cancelButtonTitle:nil otherButtonTitles:@"Ok", nil];
    [alert show];
}
km0tfn4u

km0tfn4u6#

对于Swift 5Swift 4,请使用此

var UrlUploadVideo = NSURL()

if UrlUploadVideo.absoluteString == "" {
     // your code
}
hgncfbus

hgncfbus7#

根据它的存储方式,您可能需要验证它是否为null(URL == nil)或字符串是否为空。假设你的URL存储在一个NSString中,你可以这样做:

BOOL empty = URL == nil || [URL length] == 0;
fnx2tebb

fnx2tebb8#

试试这个对我很有效

NSURL *url;
if ([url path])
{
    // url is not empty
}
else
{
    // url is empty
}
ukxgm1gy

ukxgm1gy9#

guard let url = URL(string: urlStr) else { return }

相关问题