NSURLRequest委托没有在设备上调用在模拟器上正常工作。

当我在设备上运行应用程序时,NSURLRequest委托方法没有被调用。尽管它在模拟器上完美工作。另外它不是我的视图在请求被满足之前加载的情况,因为我只能在连接收到数据后才能查看加载。NSURLRequest委托没有在设备上调用在模拟器上正常工作。

我的代码请求url在这里。任何帮助不胜感激。

- (void)viewWillAppear:(BOOL)animated 

{

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://-dev01x/content"]; cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:60];

[request setHTTPMethod:@"GET"];

_getData = [[NSURLConnection alloc] initWithRequest:request delegate:self];

NSLog(@"HELLO %@",_getData);

}

回答:

这里提供您的代码是没有意义的:

_getData = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

那林e返回一个指向NSURLConnection对象的指针,你的变量名称会引起误解。如果你想在这一点上阻塞(甚至可以工作),那么看起来你需要在那一点使用sendSynchronousRequest。

我做了类似于你想要做的事情,但采用更传统的方式。在viewDidLoad中,甚至在initWithFrame中,我将启动一个异步连接,设置一个标志,并将视图backgroundColor设置为黑色或白色(我通常也使用微调器)。当我得到viewWillAppear,如果连接已经完成,一切都很好,我设置了各种UI元素。如果没有,那么不要做任何事情,并且以后,当连接完成时,拉下微调器并更新UI。

我想到的阻止主线程的唯一方法就是尝试使用该同步请求(对于这种情况,这是一种非常糟糕的方式)。

在后台做事情的美妙之处在于,如果它的时间太长,用户可以点击后退按钮或去别的地方的应用[在这种情况下取​​消了连接和拆除都记录下来。]

回答:

检查URL在浏览器中选中当u提供NSMutableURLRequest给出什么

NSMutableURLRequest需要有效的URL

以上是 NSURLRequest委托没有在设备上调用在模拟器上正常工作。 的全部内容, 来源链接: utcz.com/qa/264997.html

回到顶部