SORU
3 Temmuz 2009, Cuma


Nasıl re-sipariş CoreData kayıtları uygulamak için?

İPhone uygulamam için CoreData kullanıyorum, ama CoreData kayıtları yeniden düzenlemek için sağlayan otomatik bir yol sağlamaz. Sipariş bilgileri saklamak için başka bir sütun kullanmayı düşündüm ama bu dizin sipariş için bitişik sayıları kullanarak bir problem vardır. eğer çok fazla veri ile uğraşıyorum, yeniden bir rekor potansiyel olarak sipariş bilgisi, çok fazla kayıt (bir dizi öğe sırasını değiştirme gibi sağa sola) güncelleştirme içerir

Verimli bir sipariş düzeni uygulamak için en iyi yolu nedir?

CEVAP
6 Ocak 2010, ÇARŞAMBA


FetchedResultsController ve temsilci kullanıcı odaklı model değişiklikleri için kullanılacak demek değildir. the Apple reference docbkz. Kullanıcı Odaklı Güncellemeler bölümünü arayın. Eğer bir satırı şekilde büyülü, böyle, ne yazık ki yok.

Gerekenler bu yöntemde güncellemeleri yapmak

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
 userDrivenDataModelChange = YES;

 ...[UPDATE THE MODEL then SAVE CONTEXT]...

 userDrivenDataModelChange = NO;
}

değişiklikler zaten kullanıcı tarafından yapılır ve aynı zamanda, bildirimleri bir şey yapmak önlemek için:

- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
 if (userDrivenDataModelChange) return;
 ...
}
- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath {
 if (userDrivenDataModelChange) return;
 ...
}
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller {
 if (userDrivenDataModelChange) return;
 ...
}

Sadece benim içinde bu-(Şipşak) uygulamasını hayata geçirdik ve gayet iyi çalışıyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Peter Sharp

    Peter Sharp

    11 ŞUBAT 2013
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008
  • Thom Hall

    Thom Hall

    24 Kasım 2006