ฉันมีคำถามตามทฤษฎี ตอนนี้ฉันกำลังอ่านคู่มือViewControllerของ Apple
พวกเขาเขียน:
เมื่อถึงเวลาที่ต้องปิดตัวควบคุมมุมมองที่นำเสนอแนวทางที่ต้องการคือให้ตัวควบคุมมุมมองที่นำเสนอปิดมัน กล่าวอีกนัยหนึ่งเมื่อใดก็ตามที่เป็นไปได้ตัวควบคุมมุมมองเดียวกับที่นำเสนอตัวควบคุมมุมมองควรรับผิดชอบในการปิดมันด้วย แม้ว่าจะมีเทคนิคหลายประการในการแจ้งตัวควบคุมมุมมองการนำเสนอว่าควรปิดตัวควบคุมมุมมองที่นำเสนอ แต่เทคนิคที่ต้องการคือการมอบหมาย
แต่ฉันไม่สามารถอธิบายได้ว่าทำไมฉันต้องสร้างโปรโตคอลใน VC ที่นำเสนอและเพิ่มตัวแทนที่เปลี่ยนแปลงได้สร้างวิธีการมอบสิทธิ์ในการนำเสนอ VC เพื่อปิด VC ที่นำเสนอแทนที่จะเรียกแบบธรรมดาในวิธีการควบคุมมุมมองที่นำเสนอ
[self dismissViewControllerAnimated:NO completion:nil]
เหรอ?
ทำไมตัวเลือกแรกจึงดีกว่า? ทำไม Apple ถึงแนะนำ
presentingViewController
ส่วนใหญ่ไม่มีประโยชน์เนื่องจากจะอ้างถึงUINavigationController
if ที่self
ฝังอยู่ในที่เดียว ในกรณีนี้คุณจะไม่สามารถรับได้presentingViewController
เลย แต่[self dismissViewControllerAnimated:completion]
ก็ยังใช้ได้ในกรณีนั้น คำแนะนำของฉันคือให้ใช้สิ่งนั้นต่อไปจนกว่า Apple จะแก้ไข