การอ้างอิงคลาส TAGContainerOpener

การอ้างอิงคลาส TAGContainerOpener

ภาพรวม

คลาสตัวช่วยในการเปิดคอนเทนเนอร์

นี่คือ Wrapper ของเมธอด openContainerById:callback: (TAGManager) สำหรับผู้โทรที่ให้การสนับสนุนการหมดเวลา

ต่อไปนี้คือตัวอย่างที่แสดงการรอไม่เกิน 0.1 วินาทีเพื่อให้คอนเทนเนอร์โหลดก่อนที่จะเปลี่ยนกลับไปเป็นคอนเทนเนอร์เริ่มต้น

     NSTimeInterval timeout = 0.1;
     TagManager *tagManager = [TagManager instance];
     TAGContainerFuture *future =
         [TAGContainerOpener openContainerWithId:@"GTM-XXXX"
                                      tagManager:tagManager
                                        openType:kTAGOpenTypePreferNonDefault
                                         timeout:&timeout];
     TAGContainer *container = [future get];
 

หากผู้เรียกใช้ต้องการรับการแจ้งเตือนแบบไม่พร้อมกันเมื่อคอนเทนเนอร์พร้อมใช้งาน แต่ต้องการระบุระยะหมดเวลาด้วยตนเองเป็น 0.5 วินาที ผู้เรียกใช้ควรคลาสย่อย TAGContainerOpenerNotifier เรียกไปยัง openContainerWithId:tagManager:openType:timeout:notifier: (TAGContainerOpener) โดยมีระยะหมดเวลาเป็น 0.5 และเพิ่มการใช้งานลงใน container-Container การแจ้งเตือนที่มีอยู่: (TAG-ContainerNothandling)

ฟังก์ชันสมาชิกสาธารณะแบบคงที่

(รหัส< TAGContainerFuture >)+ openContainerWithId:tagManager:openType:timeout:
 รอไม่เกิน timeout วินาทีเพื่อให้คอนเทนเนอร์โหลด (ไม่ใช่ค่าเริ่มต้นหรือความใหม่ขึ้นอยู่กับ openType ที่ระบุ) แล้วแสดงผล TAGContainerFuture
(โมฆะ)+ openContainerWithId:tagManager:openType:timeout:notifier:
 รอไม่เกิน timeout วินาทีเพื่อให้คอนเทนเนอร์โหลดเสร็จสมบูรณ์ (ไม่ใช่ค่าเริ่มต้นหรือความใหม่ขึ้นอยู่กับ openType ที่ระบุ) และเรียกเครื่องมือแจ้งเตือนเมื่อคอนเทนเนอร์พร้อมใช้งาน
(ช่วงเวลา NSTime)+ defaultTimeout
 แสดงการหมดเวลาเริ่มต้นสำหรับการขอคอนเทนเนอร์

เอกสารประกอบเกี่ยวกับฟังก์ชันของสมาชิก

+ (id<TAGContainerFuture>) openContainerWithId: (NSString *) containerId
TagManager: (TAGManager *) tagManager
เปิดประเภท: (TAGOpenType) openType
หมดเวลา: (NSTimeInterval *) หมดเวลา

รอไม่เกิน timeout วินาทีเพื่อให้คอนเทนเนอร์โหลด (ไม่ใช่ค่าเริ่มต้นหรือรีเฟรชตาม openType ที่ระบุ) แล้วแสดงผล TAGContainerFuture

หากประเภทแบบเปิดคือ kTAGOpenTypePreferNonDefault ระบบจะโหลดคอนเทนเนอร์ที่ไม่ใช่ค่าเริ่มต้น (บันทึกหรือดึงข้อมูลจากเครือข่าย) และจะไม่เลิกบล็อก TAGContainerFuture ทันทีที่เกิดเหตุการณ์ใดเหตุการณ์หนึ่งต่อไปนี้

  • ระบบจะโหลดคอนเทนเนอร์ที่บันทึกไว้
  • หากไม่มีคอนเทนเนอร์ที่บันทึกไว้ แสดงว่าคอนเทนเนอร์เครือข่ายโหลดขึ้นหรือเกิดข้อผิดพลาดของเครือข่าย
  • การจับเวลานั้นหมดอายุ

หากเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายหรือหมดเวลา ระบบ get (TAGContainerFuture-p) อาจแสดงผลคอนเทนเนอร์เริ่มต้น

หากประเภทเปิดคือ kTAGOpenTypePreferFresh ระบบจะโหลดคอนเทนเนอร์ใหม่ (บันทึกหรือดึงข้อมูลจากเครือข่าย) และยกเลิกการบล็อก TAGContainerFuture ทันทีที่เกิดเหตุการณ์ใดกรณีหนึ่งต่อไปนี้

  • คอนเทนเนอร์ใหม่ที่บันทึกไว้จะโหลดขึ้น
  • หากไม่มีคอนเทนเนอร์ที่บันทึกไว้หรือคอนเทนเนอร์ที่บันทึกไว้ไม่ใช่การอัปเดต แสดงว่าคอนเทนเนอร์เครือข่ายโหลดขึ้นหรือเกิดข้อผิดพลาดเกี่ยวกับเครือข่าย
  • การจับเวลานั้นหมดอายุ

หากเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายหรือตัวจับเวลาหมดอายุลง get (TAGContainerFuture-p) อาจมีค่าเริ่มต้นหรือคอนเทนเนอร์ที่บันทึกไว้ซึ่งไม่มีการอัปเดต

หากคุณเรียกหนึ่งในเมธอด OpenContainer เป็นครั้งที่ 2 ด้วย containerId ที่ระบุ ระบบจะแสดงผล TAGContainerFuture ซึ่ง get (TAGContainerFuture-p) จะแสดงผลคอนเทนเนอร์เดียวกับการเรียกครั้งแรก

พารามิเตอร์
containerIdรหัสของคอนเทนเนอร์ที่จะโหลด
tagManagerTAGManager สำหรับรับคอนเทนเนอร์
เวลานอกจำนวนวินาทีสูงสุดที่ต้องรอโหลดคอนเทนเนอร์จากร้านค้าที่บันทึกไว้ หากเป็น nil ระบบจะใช้ defaultTimeout
openTypeตัวเลือกในการเปิดคอนเทนเนอร์
การคืนสินค้า:
TAGContainerFuture ที่จะรอจนถึง timeout และส่งคืนคอนเทนเนอร์เมื่อพร้อมใช้งาน
+ (โมฆะ) openContainerWithId: (NSString *) containerId
TagManager: (TAGManager *) tagManager
เปิดประเภท: (TAGOpenType) openType
หมดเวลา: (NSTimeInterval *) หมดเวลา
ตัวแจ้งเตือน: (รหัส< TAGContainerOpenerNotifier >) เครื่องมือแจ้งเตือน

รอไม่เกิน timeout วินาทีเพื่อให้คอนเทนเนอร์โหลดเสร็จสมบูรณ์ (ไม่ใช่ค่าเริ่มต้นหรือความใหม่ขึ้นอยู่กับ openType ที่ระบุ) และเรียกเครื่องมือแจ้งเตือนเมื่อคอนเทนเนอร์พร้อมใช้งาน

หากประเภทแบบเปิดคือ kTAGOpenTypePreferNonDefault ระบบจะโหลดคอนเทนเนอร์ที่ไม่ใช่ค่าเริ่มต้น (บันทึกหรือดึงข้อมูลจากเครือข่าย) และส่งผ่านไปยังการแจ้งเตือน ระบบจะเรียกใช้เครื่องมือแจ้งเตือนทันทีที่เกิดเหตุการณ์ใดเหตุการณ์หนึ่งต่อไปนี้

  • ระบบจะโหลดคอนเทนเนอร์ที่บันทึกไว้
  • หากไม่มีคอนเทนเนอร์ที่บันทึกไว้ แสดงว่าคอนเทนเนอร์เครือข่ายโหลดขึ้นหรือเกิดข้อผิดพลาดของเครือข่าย
  • การจับเวลานั้นหมดอายุ

หากเกิดข้อผิดพลาดเกี่ยวกับเครือข่ายหรือตัวจับเวลาหมดอายุ คอนเทนเนอร์ที่ส่งผ่านเข้ามาในการแจ้งเตือนจะเป็นคอนเทนเนอร์เริ่มต้น

หากประเภทที่เปิดคือ kTAGOpenTypePreferFresh ระบบจะโหลดคอนเทนเนอร์ใหม่ (บันทึกหรือดึงข้อมูลจากเครือข่าย) และส่งเข้าไปในเครื่องมือแจ้ง ระบบจะเรียกใช้เครื่องมือแจ้งเตือนทันทีที่เกิดเหตุการณ์ใดเหตุการณ์หนึ่งต่อไปนี้

  • คอนเทนเนอร์ใหม่ที่บันทึกไว้จะโหลดขึ้น
  • หากไม่มีคอนเทนเนอร์ที่บันทึกไว้หรือคอนเทนเนอร์ที่บันทึกไว้ไม่ใช่การอัปเดต แสดงว่าคอนเทนเนอร์เครือข่ายโหลดขึ้นหรือเกิดข้อผิดพลาดเกี่ยวกับเครือข่าย
  • การจับเวลานั้นหมดอายุ

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

หากคุณเรียกใช้เมธอด OpenContainer เป็นครั้งที่ 2 ด้วย containerId ที่ระบุ ระบบจะส่งคอนเทนเนอร์เดียวกันที่แสดงผลจากการเรียกก่อนหน้าไปยังตัวแจ้งทันทีที่พร้อมใช้งาน

พารามิเตอร์
containerIdรหัสของคอนเทนเนอร์ที่จะโหลด
tagManagerTAGManager ที่ใช้เพื่อรับคอนเทนเนอร์
openTypeตัวเลือกในการเปิดคอนเทนเนอร์
เวลานอกจำนวนวินาทีสูงสุดที่ต้องรอโหลดคอนเทนเนอร์จากร้านค้าที่บันทึกไว้ หากเป็น nil ระบบจะใช้ defaultTimeout
เครื่องมือแจ้งเตือนตัวแจ้งเตือนที่ไม่บังคับซึ่งจะถูกเรียกใช้เมื่อคอนเทนเนอร์พร้อมใช้งาน ระบบจะเรียกใช้คอนเทนเนอร์ด้วยคอนเทนเนอร์ใหม่ หากมี และโหลดก่อนหมดเวลา มิเช่นนั้น จะมีการเรียกด้วยคอนเทนเนอร์ที่ไม่ใช่แบบใหม่ โปรดทราบว่าผู้แจ้งเตือนอาจมีการเรียกจากชุดข้อความอื่น
+ (NSTimeInterval) defaultTimeout

แสดงการหมดเวลาเริ่มต้นสำหรับการขอคอนเทนเนอร์

การคืนสินค้า:
ระยะหมดเวลาเริ่มต้นเป็นวินาที