ฉันมี ViewController ที่มี UITableView
อยู่ข้างใน ซึ่งแสดงรายการไฟล์ที่อยู่บนเซิร์ฟเวอร์ แต่ละเซลล์ของตารางนี้มีตัวบ่งชี้ที่แสดงความคืบหน้าของการดาวน์โหลดและอื่นๆ
ปัญหา:
เมื่อฉันกลับไปที่ ViewController อื่น และกลับมาที่คอนโทรลเลอร์ด้วย TableView ความคืบหน้าและตัวบ่งชี้ในเซลล์จะปรากฏขึ้นเหมือนกับว่าไฟล์ไม่ได้ดาวน์โหลด แต่ไฟล์ยังคงดาวน์โหลดอยู่ในเบื้องหลัง
วิธีแก้ปัญหาที่เป็นไปได้ของฉัน:
มี NSMutableArray
ทั่วโลกซึ่งมีการดาวน์โหลดทั้งหมดในออบเจ็กต์ NSDictionary
หลายรายการ (แต่ละพจนานุกรมเป็นการดาวน์โหลด มีความคืบหน้า ดัชนีของแถว)
ถ้าฉันออกจาก ViewController ด้วย Table แล้วกลับมา ฉันจะตรวจสอบว่ามีการดาวน์โหลดที่กำลังดำเนินการอยู่หรือไม่ (โดยการนับอ็อบเจ็กต์ใน Downloads Array) และเริ่มจับเวลาซึ่งจะอัปเดตแต่ละรายการใน Downloads Array และผลักดันการเปลี่ยนแปลง ไปที่ TableView
(ฉันใช้ AFURLConnectionOperation
กับ progressBlock
เพื่ออัปเดตตัวบ่งชี้)
มีวิธีแก้ไขที่ดีกว่านี้หรือไม่? ขอบคุณ!