viewWillAppear
ve viewDidLoad
'dan birini alıyorum, bilinene kadar sorun yok. Ancak ben viewWillAppear
içine koymak ve ne zaman viewDidLoad
içine koymak için rehberlik edecek bazı kurallar olmalı diye düşünüyorum?GörünümWillAppear ve ne zaman viewDidLoad içine koymak ne zaman?
cevap
Kullanacağım basit kural budur. viewDidLoad
, görünümün kaynakları yüklendiği zamandır. Görünüm henüz ekranda gösterilmiyor. Dolayısıyla, görünümün geometrisi ve görselleriyle ilgili hesaplamalar ve kodlar buraya konulmamalıdır. viewWillAppear
veya viewDidAppear
yönteminde olmalıdırlar.
Ayrıca viewWillAppear çağrılabilir birden çok kez popover/modal görünümü gösterilir ve
- . Bu nedenle
viewWillAppear
bitirmek için daha uzun sürer kodları içermemelidir. (en azından ana iş parçacığı üzerinde çalışan kod). Her ikisi de görüntüleme başına sadece bir kez çalıştırılması gereken kodlar içermemelidir.
Daha çok eminim var ama bunlar hatırlanması basit ve umarım yardımcı olur.
viewDidLoad: bir görünüm bittiktenUyarılar o yükleme
viewWillAppear:çalıştırır sadece görünüm yükleri
viewDidLoad
önce bir kez yapmak zorunda şeydir. Görünüm her göründüğünde viewWillAppear
çağrılır. viewDidLoad
'da yalnızca bir kez yapmanız gerekenleri yapmalısınız - UILabel
metinlerinizi ayarlamak gibi. Ancak, kullanıcının görüntüleyeceği her seferinde görüntünün belirli bir bölümünü değiştirmek isteyebilirsiniz, ör.iPod uygulaması, "Now Playing" görünümüne her gittiğinizde şarkı sözlerini geri kaydırır.
Ancak, bir sunucudan şeyler yüklerken, aynı zamanda gecikmeyi de düşünmeniz gerekir. Tüm ağ iletişiminizi viewDidLoad veya viewWillAppear içine yüklerseniz, kullanıcı görünümü görmeden önce - muhtemelen uygulamanızın kısa bir dondurmasıyla sonuçlanır. Öncelikle kullanıcıya bir tür etkinlik göstergesine sahip açılmamış bir görünüm göstermek iyi bir fikir olabilir. Ağınızla işiniz bittiğinde, ikinci veya iki kez (veya kim bilir?) Bitebilir, görünümü verilerinizle doldurabilirsiniz. Bunun nasıl yapılabileceği hakkında iyi örnekler çeşitli twitter istemcilerde görülebilir. Örneğin, Twitterrific'te yazar detay sayfasını görüntülediğinizde, görünüm ağ sorguları tamamlanana kadar yalnızca "Yükleniyor ..." yazıyor.
iyi bir açıklama, sadece burada daha önce okudum: http://stackoverflow.com/questions/1579550/uiviewcontroller-viewdidload-vs-viewwillappear-what-is-the-proper-division-of –
- 1. görüntü/asssets görüntülerini ne zaman ve/public/rails 3.1 ne zaman resim koymak için?
- 2. OpenGLES 2 - glBindTexture ne zaman ve ne zaman glActiveTexture?
- 3. Ne zaman assert() kullanılmalı ve ne zaman kullanılmalı?
- 4. Gen_Fsm ne zaman kullanılır ve Gen_Server ne zaman kullanılır?
- 5. Ne zaman kullanılmalı ve Aurelia'da ne zaman kullanılır?
- 6. Vektörler ne zaman kullanılır ve C++ dizini ne zaman kullanılır?
- 7. undef_method ne zaman kullanılır ve remove_method ne zaman kullanılır?
- 8. Eklentiler ne zaman seçilecek ve ne zaman ipucu seçileceği
- 9. Bir kullanıcı ne zaman ve ne zaman bir Facebook paylaştı
- 10. HttpPostedFile.InputStream - ve ne zaman kullanılmalıdır?
- 11. UIView'nin boyutu ne zaman değişti?
- 12. RequireJS ne zaman arama asenkron gerektirir? Ne zaman senkronize edilir?
- 13. window.location ne zaman değişir?
- 14. Rotasyonun ne zaman setRequestedOrientation
- 15. Ne zaman getPermanentIDsForObjects :?
- 16. Parallel.For ne zaman kullanılır?
- 17. ServiceConnection.onServiceDisconnected() ne zaman çağrılır?
- 18. 'java.util.Objects. *' Ne zaman kullanılır?
- 19. hibernate.connection.provider_class ne zaman kullanılmalı
- 20. StrictModeDiskReadViolation ne zaman
- 21. Ne zaman dispatch_release()?
- 22. Ne zaman görev sayısı
- 23. recyclerView.setHasFixedSize ne zaman kullanılır?
- 24. FSharpFunc.Adapt ne zaman kullanılmalı?
- 25. session.gc_maxlifetime ne zaman
- 26. HttpContext.User.Identity ne zaman ayarlandı?
- 27. [MTAThread] ne zaman kullanılmalıdır?
- 28. Ne zaman gemide
- 29. Memcached ne zaman kullanılmalı
- 30. StringIO ne zaman kullanılır?
Google'ı mı denediniz? –