关于使用NSURLConnection下载文件和显示进度的问题
questions about using NSURLConnection to download files and show the progress
我正在尝试使用NSURLConnection下载文件并显示下载进度。
但是我有一些限制,想问一下是否有办法解决这个问题。
-
我的文件需要在cpp文件中编译。例如,我编写了这个接口来使用NSURLConnection
@interface DownloadUtil : NSObject <NSURLProtocolClient { NSMutableData* receivedData; NSURLConnection* theConnection; long long dataDownloaded; long long totalDataSize; } @property (nonatomic, retain) NSData* receivedData; @property (nonatomic) long long dataDownloaded;
但是我如何在cpp文件中使用这个接口?我开始尝试像这样
class PatchDownload{
public:
PatchDownload();
~PatchDownload();
void downloadFile(char* url);
DownloadUtil* downloadUtil; //has all implementation of all downloading process
};
但是我得到了大量的错误告诉我,我不能在cpp中使用objective - C变量。包含'PatchDownload'类的文件是。mm我的第一个问题是,如果有任何方法使用NSURLConnection在cpp。
我的第二个问题是,我需要显示下载的进度,但当我尝试'connection: didreceiverresponse '获取正在下载的文件的总大小以计算百分比,我得到-1。我知道-1意味着'expectedLength'未定。我想问一下是否有办法显示下载进度
我的第三个问题是,如果有任何方法来控制调用"连接:didReceiveData"。例如,我希望委托每1000字节或其他特定字节调用一次。这可能吗?
我的第一个问题是,如果有任何方法使用NSURLConnection在cpp.
使用Objective-C指针作为c++类成员应该没有问题。我的猜测是,您实际上包括在其他cpp文件中声明PatchDownload
的头文件。你能检查这一点,并在必要时显示错误消息(其中一些)吗?
我想问一下是否有办法显示下载进度
如果服务器没有指定下载长度,我担心没有办法显示从0%到100%的进度。你可以做的是显示一个通用的进度,就像一个纺车,当信息没有提供。当然,如果你有访问服务器的权限,你可以解决这个问题。
很遗憾,我不这么认为。你应该使用较低级别的api,比如CFStream,它允许定义缓冲区大小。我的第三个问题是,如果有任何方法来控制'connection:didReceiveData'的调用。
- 如何在cpp中使用地图显示给定日期范围内(在下面的问题中)的费率?
- 你能帮我解决显示矩阵的问题吗?
- 我在 OpenGL 中显示图像时遇到问题
- 在C++中的SDL2窗口上显示.bmp时出现问题
- 在 MacOS 上C++:显示日期和时间问题
- 密码显示双字母 c++ 的问题
- 为什么主机不显示?(C++和代码处理器问题)
- Rand() 没有显示随机数,请帮助我了解出了什么问题:)
- 我无法弄清楚我的代码未显示预期结果的问题
- 双向链表问题 - 包含项目但不显示
- QTreeWidgetItem 突出显示文本问题
- 显示和隐藏Windows 10屏幕键盘(osk.exe)时遇到问题
- Char 数组的问题,如何正确构造和显示它们
- 我的显示功能有问题
- 在C 中显示小数点,计算问题
- 如何在 for 循环中解决潜在的 getline() 问题,数组的第一个索引没有显示?
- 使用 ARDUINO 和处理在 8x8 LED 矩阵上显示数据时出现问题
- 我的计划中存在什么问题?为什么无法显示最终输出
- Visual Studio 2010 C++的调试问题-显示奇数
- c++ If语句问题-显示错误信息