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