ios - 使用storyboard建立tableview运行时代码运行了三次是什么情况?
PHP中文网
PHP中文网 2017-04-18 09:47:07
0
2
534
import UIKit

class TaskListController: UITableViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
    }

    // MARK: - Table view data source

    override func numberOfSections(in tableView: UITableView) -> Int {
       
        return 1
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    
        print("Test")
        return 0
    }
}
PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(2)
巴扎黑

Kod ini dilaksanakan seberapa banyak kali beban paparan jadual anda. Dilaksanakan sekali apabila menetapkan sumber data, dan kemudian dilaksanakan sekali setiap pemuatan

override func numberOfSections(in tableView: UITableView) -> Int {
       
        return 1
    }

Bilangan kali kod di bawah dilaksanakan bergantung pada bilangan bahagian yang anda miliki. Ia akan dilaksanakan seberapa banyak bahagian yang anda ada, dan selepas setiap beban ia akan dimuatkan mengikut bilangan bahagian dalam paparan jadual semasa anda.

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    
        print("Test")
        return 0
    }

Di atas adalah logik bilangan kod dijalankan.
Soalan anda. Secara teorinya, stroyboard anda biasanya mempunyai data padanya. Walaupun tiada data, ia akan dijalankan sekali (atau beberapa kali jika terdapat data Ini disebabkan oleh penunjuk sumber data lalai. Dalam kod, jika anda menetapkan sumber data, ia akan dimuat semula secara semula jadi. Jadi ia dilaksanakan beberapa kali. Untuk pembangunan iOS, kod tulen masih disyorkan.

Peter_Zhu

Ujian iOS 10.1 telah dijalankan 5 kali...
Saya rasa tidak perlu memikirkan perkara ini Kami tidak tahu bahawa TableView telah melalui satu siri proses daripada permulaan hingga muncul pada skrin, dan ia sepatutnya tidak mencukupi untuk mendapatkannya sekali sahaja. Ya, Apple mungkin tidak akan menyimpan nilai ini.
Saya tidak nampak apa-apa dalam timbunan panggilan titik putus... Pemahaman saya ialah jadual boleh diminta daripada perwakilan setiap kali ia diperlukan dan tidak akan ada kesan prestasi. Jika anda ingin sampai ke bahagian bawahnya, anda mungkin perlu melihat kod sumbernya...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!