“-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data”未调用

2023-12-10

看看这个代码片段:-

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{               
    [webData setLength: 0];           
}



-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{
    NSLog(@"Recieving Data...");
    [webData appendData:data];

}



-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    NSLog(@"ERROR with theConenction");
    [connection release];
    [webData release];
}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    NSLog(@"DONE. Received Bytes: %d", [webData length]);
    NSLog(theXML);


}   

我正在调用 SOAP Web 服务。我的代码中没有显示任何错误或警告。 当我通过 Safari 访问网络服务时,它工作正常。但是当我尝试时问题出现了 通过我的代码击中它。 一切正常但connection:didRecieveData不被调用。 因此,我没有得到任何数据webData多变的。这webData is a NSMutableData目的。 这个问题似乎很愚蠢,但任何有答案的人......

谢谢你们。


我怀疑你有内存管理问题。我可能会弄错,但我相信:

NSURLConnection* connection=[[NSURLConnection alloc] initWithRequest:request delegate:self];

行不通,因为connection将在包含方法结束时释放,当connection超出范围。确保NSURLConnection *connection and NSMutableData *data被声明为成员变量无论你在哪里做这件事,并且你alloc and init他们适当地。我的代码通常如下所示:

    NSURLRequest *request = [NSURLRequest requestWithURL:url
                                          cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
                                          timeoutInterval:30.0];
    // cancel any old connection
    if(connection) {
        [connection cancel];
        [connection release];
    }
    // create new connection and begin loading data
    connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
    if(connection) {
        // if the connection was created correctly, release old data (if any), and alloc new
        [data release];
        data = [[NSMutableData data] retain];
    }

Also, release连接和数据在dealloc。为了更好地衡量,release并将它们设置为nil在最后didFailWithError and didFinishLoading:

[connection release];
connection = nil;
[data release];
data = nil;

祝你好运;我已经这样做了一百万次,如果你无法让它工作,请告诉我。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data”未调用 的相关文章

随机推荐

  • Java:为什么大正数相乘会导致负结果? [复制]

    这个问题在这里已经有答案了 我看到一些用 Java 进行整数相乘的奇怪行为 我正在做一些编码练习 并发现了以下嘶嘶声类型的练习 要求 给定一个整数 编写一个函数 找出小于给定整数的每个 3 的倍数的乘积 except5 的任意倍数 例如 给
  • async/await whenall 立即返回

    我有这个 简单 测试代码 不要打扰类方法的奇怪使用 我正在努力抓住Task lt gt 错综复杂 我想我有点了解Task lt gt Start Task lt gt Result模式 也许因为它更像 旧 Thread Start 但是一旦
  • 在 python 中动态生成变量名称[重复]

    这个问题在这里已经有答案了 有没有办法可以在 python 中循环生成变量名并为其赋值 例如 如果我有 prices 5 12 45 I want price1 5 price2 12 price3 45 我可以在循环或其他方式中执行此操作
  • 如何在没有窗口的情况下将图像直接传输到屏幕?

    如何显示 PNG BITMAP JPEG 文件等中的图像 在没有窗口的屏幕上 我希望图像出现时周围没有框架 最好不要将其作为窗口注册在任务栏上 我想将这些图像快速连续地显示在屏幕上 如果它与 Windows XP 和 Windows 7 兼
  • jQuery 属性名称包含

    我正在尝试定位包含某个单词的属性名称 而不是以您所想的方式 可以说我有 div div 我如何定位具有 data foo 在属性名称中 我认为您不能像定位属性值一样定位属性名称 但是 您可以使用 filter 有效地做到这一点 div fi
  • 选择一系列嵌套元素的每隔一个元素(每个元素只有一个子元素)[重复]

    这个问题在这里已经有答案了 是否存在每秒定位一次的 css 选择器 letter 当然 我可以把所有 letter位于同一级别并使用的元素 nth child 2n 但它们都取决于前一个字母的位置 所以我需要嵌套 firstname pos
  • 填充前一列中的空白单元格 pandas python

    如果我有一个简单的数据框 例如 q 1 q 1 mark q 2 q 2 mark TRUE a 1 c FALSE b 2 TRUE c 3 如何填写 q 2 mark 列的空白值 以便它们与 q 1 mark 匹配 所以步骤是 查看该列
  • UWP 的“Add-DevAppPackage”Powershell 脚本检查开发人员许可证。这是侧面加载的问题吗?

    我正在开发一个 LOB 业务线 UWP 项目 我们希望将该应用程序作为 appxbundle文件 旁边是 cer和一个 Powershell 脚本 这是当您通过选择从 Visual Studio 生成捆绑包时在包中生成的内容Project
  • VS Code 终端打开,然后崩溃并在按终止按钮后消失

    在 VS Code 中单击 终止终端 后出现此错误 无法解析您的 shell 环境 生成的 shell 出现意外的退出代码 代码为 null 信号 SIGSEGV 现在 当我单击 终端 新终端 时 我的 VSCode 会执行此操作 它打开窗
  • CUDA 流销毁和 CudaDeviceReset

    我已经使用 CUDA 流实现了以下类 class CudaStreams private int nStreams cudaStream t streams cudaStream t active stream public default
  • 获取范围相对于其父容器的开始和结束偏移量

    假设我有这个 HTML 元素 div Hello everyone a This is my home page a p Bye p div 用户用鼠标选择 home 我希望能够确定有多少个字符 parent他的选择开始 以及从末尾开始有多
  • 重命名 JSON 中的属性

    你好 这是我的 json name test options Repartition Active Satellite No 我想用 s 重命名 卫星 中的 卫星 但我没有成功 我试过 UPDATE Liaison set content
  • 如何在将 html 写入 PDF 时应用样式

    我正在将 html 添加到 pdf 文件中 我的 html 是 div 形式 并且包含 style 属性 其样式如下border 2px solid red 但这种风格不适用于我正在写入 pdf 文件的 html 我正在使用以下代码 Doc
  • Cocoa 脚本:从“重复”命令返回克隆对象

    AppleScriptduplicate命令应该返回复制的对象 虽然使用基于 AE 的原始函数的应用程序似乎可以做到这一点 但基于 Cocoa 脚本框架的应用程序似乎永远不会返回任何内容 但缺失值 看来命令处理程序NSCloneComman
  • 是否有规范规定元素的 id 应该设为全局变量?

    如果我有一个 div 在 Chrome 中然后在 javascript 中我可以做a stuff 就好像a是一个全局变量 然而 这不适用于 FireFox 我需要使用document getElementById a 是什么正确的行为这里
  • 使用计时器更新列表 UI

    我正在尝试更新ListView with timer 我已经实现了 android UI 计时器 但我的问题是如何使用它ListView我需要在一定时间间隔后更新列表的每一行 处理程序如何更新列表的每一行 即假设TextView位于我将显示
  • 选择另一个受密码保护的数据库中的表?

    在 Microsoft Access 2003 和 Visual Basic 6 中 我尝试将表复制到另一个受密码保护的访问数据库 如下所示 Select INTO table2 IN database2 mdb Password Test
  • 在SSRS报告中显示条形码

    我正在尝试在 SSRS 报告中显示条形码 我在 Visual Studio 中的条形码报告中创建了一个字段 并将字体类型更改为 BC C39 3 到 1 Wide 格式 我用来显示的相应文本是 hellobarcode 每当我生成报告时 它
  • Clojure - 将字符串转换为整数向量的向量

    我试图解析一个文件并使用每一行来执行任意数量的函数和参数 我想调用的函数接受两个整数向量向量用于矩阵乘法 我能够将参数解析为一个向量 这样我就可以对其和解析的函数符号调用 apply 但我仍然需要将参数从字符串转换为适当的类型 我怎样才能实
  • “-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data”未调用

    看看这个代码片段 void connection NSURLConnection connection didReceiveResponse NSURLResponse response webData setLength 0 void c