大家晚上好,这是我第一次认真体验Objective-c,我想问你们一个小贴士。
我实现了NSUrlConnetion委托,并从主体viewController调用这个类,例如myViewController。
我希望在viewController中看到下载的进度,我正在考虑这样做:在h文件中:...interface myViewController,其中协议receiveDelegate包含一个像-(int)setProgressPercent这样的方法,它返回下载部分的百分比。在.m文件中,我调用NSUrlDelegate来传递self。
然后在属性委托中:在.h文件中:@property(非原子,保留) id父项;当我收到一些东西时:父项设置进度百分比:newValue;
你觉得合适吗?
发布于 2011-05-14 02:51:13
每次数据到达时,都会向NSURLConnection的委托发送connection:didReceiveData:。您可能会将此数据累积到一个NSMutableData实例变量中。因此,您可以获得到目前为止累积的NSMutableData的大小,并将其与正在下载的对象的完整大小进行比较,然后使用该值在您的界面中设置某些内容(假设是进度指示器)。
但是,为了做到这一点,您必须事先知道正在下载的对象的完整大小有多大。您可以通过解析connection:didReceiveResponse:接收到的NSURLResponse来了解这一点。
https://stackoverflow.com/questions/5996291
复制相似问题