如何设置30秒超时? NSURL

时间:2011-04-20 12:01:21

标签: iphone timeout

如何设置30秒超时? NSURL

NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv", [searchBar.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSError* error;
NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSASCIIStringEncoding error:&error];

2 个答案:

答案 0 :(得分:4)

来自之前的SO问题timeout stringwithcontentsofurl

在这种情况下,您可能最好使用NSURLConnection类方法+sendSynchronousRequest:returningResponse:error:;它将返回一个数据对象,您可以使用-initWithData:encoding:来初始化字符串。您可以使用NSURLRequest方法创建-initWithURL:cachePolicy:timeoutInterval:来指定超时,然后将该请求作为+sendSynchronousRequest:returningResponse:error:的第一个参数传递。

答案 1 :(得分:3)

NSURLRequest创建NSURL时,请使用requestWithURL:cachePolicy:timeoutInterval:指定超时间隔(以秒为单位)。例如:

NSURLRequest* request = [NSURLRequest requestWithURL: myUrl 
    cachePolicy: NSURLRequestReloadIgnoringCacheData 
    timeoutInterval:30.0];