Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Ios NSURLConnection对象忽略它';s的实现方法_Ios_Delegates_Nsurlconnection - Fatal编程技术网

Ios NSURLConnection对象忽略它';s的实现方法

Ios NSURLConnection对象忽略它';s的实现方法,ios,delegates,nsurlconnection,Ios,Delegates,Nsurlconnection,我的问题与我的单线程应用程序中的代码有关,该程序通过与web服务的NSURL连接更新设备的本地数据库数据 我的NSURLConnection初始化并没有进入它的任何实现方法,这让我感到困惑。 在AppDelegate.m->ApplicationIDFinishLaunching方法中,我正在创建一个NSURLConnection对象: //AppDelegate.m - (void)applicationDidFinishLaunching:(UIApplication *)applicati

我的问题与我的单线程应用程序中的代码有关,该程序通过与web服务的NSURL连接更新设备的本地数据库数据

我的NSURLConnection初始化并没有进入它的任何实现方法,这让我感到困惑。 在AppDelegate.m->ApplicationIDFinishLaunching方法中,我正在创建一个NSURLConnection对象:

//AppDelegate.m
- (void)applicationDidFinishLaunching:(UIApplication *)application
{

   // ... Building request URL here ...

   NSString *requestURL = [NSString stringWithFormat:@"%@%@", URI,urlEncodedParamStr]
   NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:requestURL]];
   NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

   responseData = [[NSMutableData data] retain];

   if(connection !=nil)
      [connection release];

}
现在应执行以下任何适当的NSURLConnection方法 我在AppDelegate.m中实现的:

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{[responseData setLength:0];}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {[responseData appendData:data];}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{//my implementation}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {//my implementation} 
但是,执行将继续,行直接位于NSURLConnection*connection的init之后,不执行任何NSURLConnection实现的方法。我已经确认请求不是nil,并在实现的NSURLConnection方法中放置断点-它们没有被调用

发生什么事了

一如既往地谢谢你

你需要打电话

[connection start];
在远程调用实际启动之前

即使如此,下一行代码仍将执行。这是一个异步调用,在后台线程中执行。稍后会收到响应,然后将调用您的
连接…
方法(最长可在30秒后超时)。

您需要调用

[connection start];
在远程调用实际启动之前


即使如此,下一行代码仍将执行。这是一个异步调用,在后台线程中执行。稍后会收到响应,然后将调用您的
连接…
方法(可能会在30秒后超时)。

您需要发布更多代码,我们甚至无法看到您是否正在从此处发布的内容启动请求。确定。已添加代码。以上是ApplicationIDFinishLaunching中的所有代码,无URL创建字符串,它创建的是有效的URL。谢谢你看这个,伙计。你需要发布更多的代码,我们甚至看不到你是否从你发布的内容开始请求。当然。已添加代码。以上是ApplicationIDFinishLaunching中的所有代码,无URL创建字符串,它创建的是有效的URL。谢谢你看这个,guysexpand的“没有效果”。确认(使用调试器或NSLog)请求为非零,在所有
连接
方法中放置断点(或NSLog),执行代码足够长的时间以防失败(默认30秒),我已经在调试器中详细介绍了这一点,并确认请求不是nil,并在所有实现的方法中放置断点-我附加了一个屏幕截图,显示调试器以及如何忽略连接对象方法,并向右跳转到responseData变量赋值。谢谢再读一遍答案。这是一个异步调用。您的代码中没有
[连接启动]
-尽管您认为它“不起作用”,但它是必需的。很抱歉,它在那里,不起作用,所以我将其拔出。事实上,苹果公司并不要求它,除非使用initWithRequest:delegate:startImmediately:导致连接开始加载数据(如果尚未加载数据)。-(void)只有在使用initWithRequest:delegate:startImmediately:method创建连接并为startImmediately参数提供NO时,才需要启动调用此方法的讨论。如果在调用此方法之前未在运行循环或操作队列中计划连接,则将在默认模式下在当前运行循环中计划连接。展开“无效果”。确认(使用调试器或NSLog)请求为非零,在所有
连接
方法中放置断点(或NSLog),执行代码足够长的时间以防失败(默认30秒),我已经在调试器中详细介绍了这一点,并确认请求不是nil,并在所有实现的方法中放置断点-我附加了一个屏幕截图,显示调试器以及如何忽略连接对象方法,并向右跳转到responseData变量赋值。谢谢再读一遍答案。这是一个异步调用。您的代码中没有
[连接启动]
-尽管您认为它“不起作用”,但它是必需的。很抱歉,它在那里,不起作用,所以我将其拔出。事实上,苹果公司并不要求它,除非使用initWithRequest:delegate:startImmediately:导致连接开始加载数据(如果尚未加载数据)。-(void)只有在使用initWithRequest:delegate:startImmediately:method创建连接并为startImmediately参数提供NO时,才需要启动调用此方法的讨论。如果在调用此方法之前未在运行循环或操作队列中计划连接,则将在默认模式下在当前运行循环中计划连接。