บันทึกหรือทำให้ลำดับการดำเนินการ AFNetworking เป็นอนุกรมหรือไม่

ด้วย AFNetworking คุณมักจะจัดคิวการดำเนินการโดยทำสิ่งต่อไปนี้:

[_httpClient enqueueHTTPRequestOperation:operation];

มีวิธีทำให้เป็นอนุกรมหรือบันทึกคิวเพื่อให้สามารถกลับมาทำงานต่อได้หลังจากการยุติแอปหรือไม่


person Goles    schedule 26.12.2012    source แหล่งที่มา
comment
ฉันคิดว่าคุณต้องไปตามเส้นทางของการยึดมั่นในโปรโตคอล NSCoding ฉันเห็นว่า AFURLConnectionOperation ทำเช่นนั้นแล้ว   -  person shawnwall    schedule 26.12.2012
comment
อยากเห็นตัวอย่างแบบละเอียดบ้าง   -  person Goles    schedule 26.12.2012
comment
บทช่วยสอนบางส่วน: soff.es/archiving-objective-c-objects-with-nscoding raywenderlich com/1914/   -  person shawnwall    schedule 26.12.2012


คำตอบ (1)


จริงๆ แล้วถ้าคุณดูที่ AFURLConnectionOperation มันจะใช้ NSCoding โปรโตคอล และ .m ไฟล์จะสะท้อนให้เห็นว่าโดยการใช้ initWithCoder: และ encodeWithCoder: วิธีการ

แม้ว่าคลาสฐาน AFHTTPClient จะเป็นไปตาม NSCoding เช่นกัน แต่ ไม่ทำให้คิวเป็นอนุกรม

แต่ไม่มีอะไรหยุดคุณจากการใช้ประโยชน์จากโค้ดเบสที่มีอยู่และขยายคุณสมบัติการเข้ารหัส/ถอดรหัสเพื่อทำให้การดำเนินการคิวเป็นอนุกรมในคลาสย่อยที่คุณกำหนดเองของ AFHTTPClient

หวังว่ามันจะสมเหตุสมผลนะ!

person Sash Zats    schedule 18.04.2013
comment
โปรดทราบว่า AFHTTPRequestOperation จะหยุดตัวเองชั่วคราวเมื่อคุณเรียก encodeWithCoder:! นี่เป็น gotcha ที่ยิ่งใหญ่สำหรับฉันเมื่อฉันทำสิ่งนี้... - person Ben Gotow; 30.04.2014
comment
นอกจากนี้ หากคุณกำหนดเป้าหมายเป็น iOS7+ คุณอาจพิจารณาใช้การใช้งานเครือข่าย AFNetworking ที่ใช้ NSURLSession แทน - person Sash Zats; 30.04.2014