晚上好, 我是第一次使用Objective-c的认真经历,我问你一个提示。
我实现了NSUrlConnetion委托,我从一个主要的viewController调用这个类,例如名字myViewController。
我想在viewController中看到下载的进度,我想做这样的semothing: 在h文件中:...接口myViewController其中协议receiveDelegate包含一个方法,如 - (int)setProgressPercent,返回下载部分的百分比。 在.m文件中,我调用NSUrlDelegate传递自己。
然后在NSUrlConnection委托中: 在.h文件中:@property(nonatomic,retain)id father; 当我接受某事:[父setProgressPercent:newValue];
适合你吗?
答案 0 :(得分:0)
每次数据到达时,NSURLConnection的委托将被发送connection:didReceiveData:
。您可能会将此数据累积到NSMutableData实例变量中。因此,您可以获得到目前为止累积的NSMutableData的大小,并将其与正在下载的对象的完整大小进行比较,并使用该值在您的界面中设置某些内容(可能是进度指示器)。
但是,为了做到这一点,您必须事先知道要下载的对象的完整大小有多大。您可以通过解析connection:didReceiveResponse:
收到的NSURLResponse来了解这一点。