การอ้างอิงคลาส 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 แล้วเพิ่มการใช้งานลงใน containerer-OpenerNotifier

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

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

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

+ (id<TAGContainerFuture>) openContainerWithId: (NSString *) containerId
เครื่องมือจัดการแท็ก: (TAGManager *) tagManager
openType: (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 และแสดงคอนเทนเนอร์เมื่อพร้อมใช้งาน
+ (void) openContainerWithId: (NSString *) containerId
เครื่องมือจัดการแท็ก: (TAGManager *) tagManager
openType: (TAGOpenType) openType
การหมดเวลา: (NSTimeInterval *) หมดเวลา
เครื่องมือแจ้งเตือน: (รหัส< TAGContainerOpenerNotifier >) การแจ้งเตือน

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

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

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

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

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

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

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

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

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

แสดงผลระยะหมดเวลาเริ่มต้นในการขอคอนเทนเนอร์

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