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

  • footiecyclo

    footiecyclo

    26 EYLÜL 2009
  • Attempts at least

    Attempts at

    1 Ocak 2007
  • Pituvision

    Pituvision

    11 Mart 2006