كيفية إظهار uiprogressview للحصول على تنزيل في تطبيقي؟
-
18-09-2019 - |
سؤال
أرغب في إظهار شريط تقدم يشير إلى مقدار الملف الذي تم تنزيله في تطبيق iPhone الخاص بي. أنا أعرف كيفية إعداد UiprogressView في IB وكل ذلك. لكنني أحتاج إلى بيانات مثل حجم الملف في بايت لتشغيله. كيف أذهب في دمج هذه الوظيفة مع رمز تنزيل البايت الخاص بي (كما هو موضح أدناه)؟
- (void)connection:(NSURLConnection *)theConnection didReceiveData:(NSData *)data
// A delegate method called by the NSURLConnection as data arrives. We just
// write the data to the file.
{
#pragma unused(theConnection)
NSInteger dataLength;
const uint8_t * dataBytes;
NSInteger bytesWritten;
NSInteger bytesWrittenSoFar;
assert(theConnection == self.connection);
dataLength = [data length];
dataBytes = [data bytes];
bytesWrittenSoFar = 0;
do {
bytesWritten = [self.fileStream write:&dataBytes[bytesWrittenSoFar] maxLength:dataLength - bytesWrittenSoFar];
assert(bytesWritten != 0);
if (bytesWritten == -1) {
[self _stopReceiveWithStatus:@"File write error"];
break;
} else {
bytesWrittenSoFar += bytesWritten;
}
} while (bytesWrittenSoFar != dataLength);
}
المحلول
يمكنك إظهار عرض عرض تقدم بايت بواسطة بايت إذا قمت بالتبديل لاستخدام مكتبة AsihttPrequest.
أنا حقا أوصي بك على الأقل التحقق من ذلك. يجعل هذه الأشياء بسيطة حقا على iPhone وأستعبها لجميع تطبيقاتي. ستعمل الاتصالات المتزامنة وغير المتزامنة، تتعامل مع ملفات تعريف الارتباط والمصادقة، وتجعل تأليف طلبات المشاركة بسيطة حقا. كما أن لديها قائمة انتظار شبكة مبنية.
لا تنتمي إلى StackOverflow