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

  • ipsy Makeup Tips

    ipsy Makeup

    19 ŞUBAT 2009
  • LounaTutorials

    LounaTutoria

    10 EYLÜL 2009
  • o0oCyrusViruso0o

    o0oCyrusViru

    11 Mart 2008