2015-01-04 16 views

cevap

13

Genel olarak, Kakao ve Kakaolu Dokunma işlemleri ana iş parçacığı üzerinde yapılmalıdır. Eğer yapmazsanız, kullanıcı arayüzünün düzgün şekilde güncellenmemesi ve hatta bazen çökmesi gibi sorunlar yaşayabilirsiniz. Yani performSegueWithIdentifier için çağrı sarmak olmalıdır: UIKit (Kakao Touch) olarak

DispatchQueue.main.async { 
    self.performSegue(withIdentifier: "jumpToMessagesViewController", sender: self) 
} 

, bir arka plan iş parçacığı üzerinde UI şeyler arayarak Eski günlerde kilitlenmesine emin bir yol oldu. IOS 4 (IIRC) 'den beri, pek çok şey artık uygulamanın daha fazla çökmeyeceği, ancak bazı işlemlerin bir arka plan iş parçacığında çalıştırıldığında göz ardı edileceği anlamında "iş parçacığı güvenli". Bu nedenle, ana iş parçacığındaki UI nesneleriyle karışan kodunuzu yürütmek her zaman iyi bir fikirdir.

AppKit (Cocoa) iş parçacığı güvenliği konusunda emin değilim. Arka plan iş parçacıklarında AppKit öğelerini aramanın uygulamanızı kilitleyebileceğini biliyorum, ancak bunun artık doğru olup olmadığını bilmiyorum. Üzgün ​​olmaktan iyidir ve UI nesnelerini de ana iş parçacığına çağır.

İlgili konular