【问题标题】:how can i make complete data when using NSURLConnection使用 NSURLConnection 时如何制作完整的数据
【发布时间】:2012-03-01 07:29:06
【问题描述】:

使用 NSURLConnection 时如何制作完整的数据?

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

粘贴部分 NSData? 我应该怎么做清楚我想从url地址下载一个文件到我的文档目录,我想知道已经下载了多少字节来完成最好的方法是什么?

【问题讨论】:

    标签: ios nsurlconnection


    【解决方案1】:

    创建一个 NSMutableData 并在收到数据时附加它。

    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data  {
        if (responseData == nil)  {
            responseData = [[NSMutableData data] retain];
        }
        [responseData appendData:data];
    }
    

    或者

    - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
        responseData = [[NSMutableData data] retain];
    }
    
    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data  {
        [responseData appendData:data];
    }
    

    然后处理connectionDidFinishLoading中的数据

    完成后记得释放数据和连接。

    更多细节可以参考这篇文档:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/URLLoadingSystem/Tasks/UsingNSURLConnection.html

    【讨论】:

    • 我更新了答案,responseData 是 NSMutableData 的一个实例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 2021-10-12
    • 2013-05-17
    • 1970-01-01
    相关资源
    最近更新 更多