2010-12-15 17 views
13

Bir iPhone/iPad yaklaşık 11 Mb'lik bir sqlite mağazasına taşınmaya çalışıyorum. Her biri oldukça birbiriyle ilişkili olan yaklaşık otuz farklı varlığa sahiptir.iOS ile Oluklarda Çoklu Geçiş Çekirdek Veri Akışı

3GS'de oldukça uzun bir zaman alır. Hafif bir göç bile dört dakika sürer.

Sanırım bunun nedeni tüm ilişkilerin bellekte tutulmasıdır.

Apple geçiş kılavuzunun okunması, büyük veri kümeleri için farklı yaklaşım modellerini kullanarak birden çok geçiş yapmanın bir yöntem olduğunu söylüyor.

Hepsi iyi ve güzel. Ancak, bir eşleme modelindeki varlıklar bir diğeriyle ilişkiliyse, bunu yapamazsınız. Aslında, Mapping Model xcmappingmodel dosyasında "nil eşleme adıyla otomatik değer üretemeyen" satırları boyunca bir derleme hatası oluşturulur.

Herhangi bir ipucu için çok teşekkür ederiz.

Çok teşekkürler,

Max

+0

Merhaba Max - buna bir cevap buldunuz mu? Seninle aynı teknede olduğumu fark ettim (yüksek ilişkili varlıklar olan büyük veri kümesi) ve bazı cihazlar bir göçü gerçekleştiremeyecek. Bunu yönetmenin tek yolunun tamamen özel olduğunu (örneğin NSMigrationManager'ı kullanmamanın ... veri deposunu kendinin yeniden yaratması ... bleargh) yapmak olduğunu düşünmeye başladım. – glenc

+0

Henüz başka bir projeye geçtiğimden korkmuyorum. Tekniğim tamamen özel bir göç yapmaktı. Bir dahaki sefere meslektaşlarımı görüp çözemeyeceğini soracağım. –

cevap

1

Cant sadece yeni scheema ile yeni bir veritabanı oluşturmak ve ardından eski birinden okuma ve yenisine ekleyerek geçiş işlemini başlatmak?

+0

Evet, işte böyle bitti. Hala oldukça yavaştı çünkü her şey hafızada tutuluyor. Tüm ilişkileri işlemek problemdir. –

İlgili konular