0
OS X geliştirmesinde yeniyim ve NSTableView'da oluşturduğum verileri (yaklaşık 100000 satır) göstermek istediğimde, tablo görünümünün yenilenmesini buldum. çok düzgün değil. Her yeni veri üretildiğinde tablo görünümünün yenilenmesini istiyorum ve insanlar bu süreci kendi gözleriyle gerçekleştirebilirler. İşte 10 Çok fazla veri üretin ve gerçek zamanlı olarak NSTableView'a yükleyin
benim kod parçası:dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {() -> Void in
//var endTime: NSTimeInterval!
for i in 1...100000 {
//generate
self.models.append(DBMSModel(time: self.generateTime(NSTimeInterval(i)), money: Float(i), payType: self.payType[i % 4], payPlace: self.place[i % 4]).contentData)
// endTime = NSDate().timeIntervalSince1970
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.mainTableView.reloadData()
let numOfRows = self.mainTableView.numberOfRows
if numOfRows > 0 {
self.mainTableView.scrollRowToVisible(numOfRows - 1)
}
})
}
dispatch_async(dispatch_get_main_queue(), {() -> Void in
self.performSegueWithIdentifier("ResultAlert", sender: endTime - startTime)
})
// self.performSegueWithIdentifier("ResultAlert", sender: endTime - startTime)
}
Ben tableView yenilemek için ana iş parçacığı bildirmek ardından verilerini oluşturmak ve yeni bir iş parçacığı kullanmak, ama ne fark edebilirsiniz tableview yenilenir de bunun yaklaşık dört zamanlar. Kullanıcı arayüzünü daha verimli hale getirmek için bu kodu nasıl geliştirebilirim?
Ana kuyrukta daha az iş yapın, yalnızca UI'yi başka bir şeyle güncellemediğinizden emin olun. – user3069232
Evet, sadece reloaddata var ve ana dizideki son satıra kaydır. Veri oluşturma başka bir iş parçacığında – cotton