XCode 7'deki grafik düzenleyicide soyut varlıkların görünmesini engellemenin bir yolu var mı? Bütün varlıklarm süper soyut varlıklardan miras alırlar ve grafikler karmaşıktır çünkü soyut varlıklar, grafikleri, çocuk sınıflarına kalıtımı ifade eden oklarla gösterirler. Bu değiştirilebilir mi?XCode: Çekirdek Veriler grafiğinden soyut varlıkları dışla
cevap
Hayır, bu değiştirilemez. Çizimi sadece başka bir programda yeniden çizebilirsiniz.
Ancak, bu sorun başka bir soruna işaret eder: varlıklarınızın çoğunun bir süper ana varlıktan devralması durumunda bunların hepsinin aynı SQLite tablosu'da saklanacağının farkında olmanız gerekir. Bu, potansiyel olarak performans sorunlarına yol açabilir ve her durumda arka plandaki ilişkisel bir veritabanı tarafından temsil edilen nesne grafiğine sahip olmanın sağladığı verimliliklerin çoğunu ortadan kaldırabilir.
Tüm varlıklarınızda sync
alanı varsa, bu özelliği tüm varlıklara eklemekten veya senkronizasyon durumunu takip etmek için başka bir şema bulmaktan daha iyi olursunuz.
Açıklama için teşekkür ederiz. İlişkileri takip ederek şemayı elle çizdim. Soyut bir varlık sınıfından miras alan varlıkların aynı tabloda saklanacağı konusunda hiçbir fikrim yoktu. Bu stratejiyi, tüm varlıkları basitçe kopyalamak ve varlıkları bir parametre olarak ele almak için elverişlilik yöntemlerimi değiştirmek (NSManagedObject sublcass üzerinde yöntemler olmaktan ve metodlar içinde 'self'i kullanmaktan ziyade) yeniden gözden geçireceğim. Ancak, performans şu an için mükemmel görünüyor, bu yüzden kulakla oynayacağım. – mashers
Apple her zaman kendi uygulamalarında devralma kullan, birden fazla varlığın tek bir getiriden dönmesine izin verir, ör. Notes'ta, kapsayıcı ve güçlü öğeler olan ana varlıklarını getirerek hesapları ve klasörleri getirir. Modelinizi ilişkisel bir veritabanı gibi düşünmekten ziyade kullanıcı arayüzünüzde nasıl gösterileceğine göre tasarlayın. – malhal
@malhal Peki, evet, ama Notlar uygulaması iyi bir örnek değil çünkü çok az girdiye sahip ve şema iyi ölçeklenmeyecek. Hiç kimsenin 100.000 notu olmayacak, muhtemelen 100'lü bile olmayacak. Bu söylenen, bu tradeoffları göstermek için mükemmel bir örnektir. – Mundi
- 1. Temel Veriler: Tüm varlıkları getir
- 2. Çekirdek Veriler + 'ifadesi hala etkin'
- 3. Ters mühendis Çekirdek Veriler 'anne' dosyası
- 4. Öğe'yi programlı olarak oluşturma (Çekirdek Veriler)
- 5. Çekirdek veriler: "CDAccount" adlı sınıfı yüklenemiyor
- 6. Çekirdek Veriler, dönüştürülebilir özelliklerde değişiklik kaydetmiyor
- 7. Çekirdek Veriler, endeksleme ile UITableView destekli
- 8. Çekirdek Veriler'de belirli veriler nasıl seçilir?
- 9. Jersey2 Tepki alanları dışla
- 10. Sonarda oluşturulan kodu dışla
- 11. Xcode 7'de UITest'teki veriler nasıl yapılır?
- 12. Temel Veriler ile basit bir toplamın hesaplanması
- 13. Temel Veriler: hata: Çekirdek Veri değişimi sırasında istisna yakalandı
- 14. Çekirdek veriler yönetilen nesneler fazladan ivar ve yöntemlerle
- 15. Xcode
- 16. Bir QuickGraph grafiğinden bağlanan bileşenleri alma
- 17. anahtarı-tampon listeden "nefret tampon" dışla
- 18. Spring Boot Maven Eklentisi - Tüm bağımlılıkları dışla
- 19. IntelliJ içinde dizini kalıcı olarak dışla
- 20. Hata: Varlıkları
- 21. CKağıt varlıkları
- 22. Lateks'te 'Soyut'
- 23. Android'de temel veriler
- 24. Uygulama çalışırken Temel Veriler sqlite dosyasının değiştirilmesi, veriler güncellenmiyor
- 25. Çekirdek Verileri'nde varlıklar için öznitelik belirlenemiyor
- 26. Alt sınıf tarafından belirtilmesi gereken veriler için soyut bir yöntem mi yoksa örnek değişken mi kullanmalıyım?
- 27. Tüm Varlıkları Temizleme GitLab
- 28. Web paketi yerleşik varlıkları
- 29. PropertyEditor'da DB'den Varlıkları Getirme
- 30. Knockoutlu HTML Varlıkları
Sanırım öyle değil. Gerçek işlevsellik açısından size sunan bu soyut varlıklar nelerdir? – Wain
Teşekkür ederim. Soyut varlıklar, çocuk nitelikleriyle paylaşılan nitelikleri sağlar. NSManagedObject alt sınıfları, bu türdeki tüm varlıkların ortak işlevlerine yardımcı olmak için eklediğim kolaylık yöntemlerine de sahiptir. – mashers
@mashers Öğe mirasını almadan sınıf mirasını kullanmaya devam edebilirsiniz. Model editöründe, her bir varlığın ortak özelliklerini (ve soyut varlığı modellemeyin) dahil edersiniz, ancak sınıf tanımında, her bir alt sınıfın soyut varlık sınıfından miras kalmasını sağlarsınız. – pbasdf