Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c Xcode:在加载URL之前验证它_Objective C_Cocoa Touch_Xcode - Fatal编程技术网

Objective c Xcode:在加载URL之前验证它

Objective c Xcode:在加载URL之前验证它,objective-c,cocoa-touch,xcode,Objective C,Cocoa Touch,Xcode,我很难找到一种方法来验证我应用程序上的url。 我的目的是加载一个URL,同时查看是否存在其他网页,例如 加载 验证 如果folder1/2.pdf存在,则加载它,否则验证/folder2/1.pdf 到目前为止,为了能够更改pdf编号和文件夹,我正在像这样加载第一个pdf: int numpag=1 NSString*baseUrl=@”http://www.cronica.com.mx/iphone/pdf_iphone/"; [pdfView loadRequest:[NSURLReque

我很难找到一种方法来验证我应用程序上的url。
我的目的是加载一个URL,同时查看是否存在其他网页,例如

加载
验证
如果folder1/2.pdf存在,则加载它,否则验证/folder2/1.pdf

到目前为止,为了能够更改pdf编号和文件夹,我正在像这样加载第一个pdf:

int numpag=1
NSString*baseUrl=@”http://www.cronica.com.mx/iphone/pdf_iphone/";
[pdfView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[baseUrl stringByAppendingFormat:@“folder1/%d.pdf”,numpag]]

非常感谢

这个怎么样:

+ (BOOL)isValidURL:(NSURL*)url
{
    NSURLRequest *req = [NSURLRequest requestWithURL:url];
    NSHTTPURLResponse *res = nil;
    NSError *err = nil;
    [NSURLConnection sendSynchronousRequest:req returningResponse:&res error:&err];
    return err!=nil && [res statusCode]!=404;
}
让我知道它是否适合你

(请记住,这是一个同步请求,不应在主线程上执行)

如何:

+ (BOOL)isValidURL:(NSURL*)url
{
    NSURLRequest *req = [NSURLRequest requestWithURL:url];
    NSHTTPURLResponse *res = nil;
    NSError *err = nil;
    [NSURLConnection sendSynchronousRequest:req returningResponse:&res error:&err];
    return err!=nil && [res statusCode]!=404;
}
让我知道它是否适合你


(请记住,这是一个同步请求,不应在主线程上执行)

我必须更改行:

return err!=nil && [res statusCode]!=404;


为正确的布尔返回。错误应该保持为零。

我必须更改行:

return err!=nil && [res statusCode]!=404;


为正确的布尔返回。错误应该保持为零。

这种方法不正确,您应该避免同步调用,因为它们正在阻塞。
苹果公司表示:只需尝试等待响应。

这种方法是不正确的,你应该避免同步调用,因为它们正在阻塞。
苹果说:只要试着等待响应。

嗨:告诉我我是否做错了什么:
-(void)isvalidur:(NSURL*)url{NSLog(@“用站点%@\n启动”,url);NSURLRequest*req=[nsurlRequestWithURL:url];nshttpurresponse*res=nil;NSError*err=nil;[NSURLConnection sendSynchronousRequest:req returningResponse:&res error:&err];BOOL errono=err!=nil&[res statusCode]!=404;NSLog(@“gives error”%@),(errono?@“YES”:@“NO”);}
我总是得到关于“gives error”的响应否记录url确实无效,并尝试使用有效的url和相同的url。再次,我在if中稍微更改了代码,而不是使用“bool”,我使用的是另一个变量,它只是给出了错误代码及其工作方式,非常漂亮!不要使用错误(此代码段中的错误)要确定是否发生了错误,但调用方法的返回值(nil或NO意味着error)。即使该方法工作正常,也不能保证err为nil。如果您使用的是线程(不是sendSynchronousRequest:),请在此处通过“unforgiven3”查看答案:Hi:告诉我是否我做错了什么:
-(void)isValidURL:(NSURL*)url{NSLog(@“使用站点%@\n启动”,url);NSURLRequest*req=[NSURLRequestWithURL:url];NSHTTPURLRResponse*res=nil;NSError*err=nil;[NSURLConnection sendSynchronousRequest:req returningResponse:&res error:&error];BOOL error=nil&[res状态码]!=404;NSLog(@“给出错误”%@),(errono?@“YES”:@“NO”);}
我总是在“gives error”日志中得到响应NO该url确实无效,并尝试使用有效的url和相同的感谢代码。我再次在if中稍微更改了代码,而不是使用“bool”我正在使用另一个变量,它只是给我错误代码和它的工作非常漂亮!不要使用错误(此代码段中的err)来确定是否发生了错误,而是使用被调用方法的返回值(nil或NO means error)。即使该方法工作得很好,也不能保证err为nil。如果您使用的是线程(非sendSynchronousRequest:)然后在此处查看“unforgiven3”的答案: