Bir nesneyi birden çok kez çağırdığınızda neler olur, bazı gizli yan etkiler var mı? Ek belleğin ayrılmamış olduğunu varsayabilir misiniz? Böyle bir fikre karşı herhangi bir şey gelir miydi?Arama-Objectit-C'de birden çok kez oturum açma
cevap
-init
birden çok kez çağrılması desteksiz, tanımlanmamıştır ve böcek, çöker ve diğer beklenmedik davranışa olacak kurşun.
Birçok sınıflar - NSString
örneğin NSArray
ve NSDictionary
, - aslında +alloc
yöntemi denir şey öncelik sırasına sahiptir. Çeşitli -init*
yöntemlerinden birinin, sorduğunuz her şeyi yapmanın en etkili yolunu bulmak için nesnenin yeterli içeriğe sahip olduğu söylenene kadar değildir.
Bill'in yanıtına eklemek isterim ki, kendi -init
yöntemlerinizi yazarken, kod çalışmasında kendilendedir ve yalnızca bir kez yayınlanacağını varsaymayın.
Nesnede hiçbir init yönteminin çağrılmadığını zarif bir şekilde kontrol etmekten nasıl bahsediyorsunuz? – jbat100
- 1. günün birden çok kez
- 2. FactoryGirl: birden çok kez
- 3. çağrı deleteRowsAtIndexBir kez birden çok kez geçirme
- 4. SSO, oturum açma için birden fazla girişimi gerektiren
- 5. SilverStripe'de oturum açma oturumu açma
- 6. Birden çok kez dökümden kaçınmak
- 7. MySQL tabloları birden çok kez
- 8. jquery birden çok kez tıklandığında
- 9. socket.io birden çok kez yayar
- 10. chrome.tabs.onUpdated.addListener() birden çok kez çağrıldı
- 11. Açısal vaat birden çok kez
- 12. G + oturum açma düğmesi iki kez geri arama bağlanıyorum
- 13. Oturum açma olayında Meteor.js
- 14. tekli oturum açma
- 15. Birden çok dosya açma (OpenFileDialog, C#)
- 16. Webstorm 10'da birden çok proje açma
- 17. Android oturum açma/oturum açma oturumunu nasıl yönetebilirim?
- 18. Oturum açma ve önceden oluşturulmuş oturum açma SessionManager sınıfı
- 19. DBCP'de oturum açma
- 20. UnexpectedNullableFold sol oturum açma
- 21. Oturum açma Engellenmeyi engelle?
- 22. python oturum açma
- 23. shibboleth tekli oturum açma
- 24. Py.test testlerinde oturum açma
- 25. Raylar Devise: Oturum Açma
- 26. RSACryptoServiceProvider ile oturum açma hızı
- 27. Oturum açma süresi sonu etkinliği?
- 28. Sosyal Oturum Açma Mantığı Oturum Aç
- 29. tembel yükleme ile hazır oturum oturum açma
- 30. HTTP Oturum anahtarı ile oturum açma isteği
Hayır, bir nesnenin başlatıcısının bellek ayırmadığını varsayamazsınız. Neden ilk etapta olmak istersin? –
Bir nesne oluşturmak ve ilgili kontrolör çıkışına bağlamak için IB'yi kullandım. Bu nesnenin başlatıldığını gözlemledim, bu yüzden + tahsis ve -sinit çağrılmalıydı. Yani soru ortaya çıktı, eğer nesneyi farklı değerler ile tekrar kurabilirsem. – CipherCom
Arabirim Oluşturucusu'nda bir nesneyi başlattıysanız, nesne-düğümde arşivlendiğinden ve uygulama için kullanılabilir hale gelmesi için arşivden kaldırılması gerektiğinden, '-init 'yerine bunun yerine -initWithCoder: işlevini geçersiz kılmanız gerekir. . Alternatif olarak, sadece -awakeFromNib işlevini uygulayın ve istediğiniz noktada istediğiniz ayarları değiştirin. –