Saya punya pertanyaan teoretis. Sekarang, saya sedang membaca panduan ViewController Apple .
Mereka menulis:
Ketika tiba saatnya untuk menutup pengontrol tampilan yang disajikan, pendekatan yang disukai adalah membiarkan pengontrol tampilan yang menyajikan menutupnya. Dengan kata lain, jika memungkinkan, pengontrol tampilan yang sama yang menampilkan pengontrol tampilan juga harus bertanggung jawab untuk menutupnya. Meskipun ada beberapa teknik untuk memberi tahu pengontrol tampilan penyajian bahwa pengontrol tampilan yang disajikan harus ditutup, teknik yang disukai adalah pendelegasian.
Tapi saya tidak bisa menjelaskan, mengapa saya harus membuat protokol dalam VC yang disajikan dan menambahkan variabel delegasi, membuat metode delegasi dalam menyajikan VC untuk menolak VC yang disajikan, alih-alih panggilan sederhana dalam metode pengontrol tampilan yang disajikan
[self dismissViewControllerAnimated:NO completion:nil]
?
Mengapa pilihan pertama lebih baik? Mengapa Apple merekomendasikannya?
presentingViewController
sebagian besar tidak berguna karena akan merujuk keUINavigationController
jikaself
tertanam di dalamnya . Dalam hal ini, Anda tidak akan bisa mendapatkanpresentingViewController
sama sekali. Namun,[self dismissViewControllerAnimated:completion]
masih berfungsi dalam kasus itu. Saran saya adalah terus menggunakannya sampai Apple memperbaikinya.