cari

Rumah  >  Soal Jawab  >  teks badan

ios - 使用storyboard建立tableview运行时代码运行了三次是什么情况?

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中文网2771 hari yang lalu566

membalas semua(2)saya akan balas

  • 巴扎黑

    巴扎黑2017-04-18 09:49:07

    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.

    balas
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:49:07

    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...

    balas
    0
  • Batalbalas