SORU
12 ŞUBAT 2010, Cuma


Hızlı eğer bir nesnenin Temel Veri olup olmadığını kontrol etmek için bir yol değil mi?

Eğer bir nesne Çekirdek Verileri kalıcı olup olmadığını görmek istiyorum. Örneğin, TEMEL Veri Arkadaşlarım var, ve adı ile onları tanımlamak. "George" diye bilinir. görmek için çekirdek veri sorgu edebilirim Eğer sonuç dizi seti sıfır'den fazla nesne içeriyorsa, George orada olduğunu biliyorum. Ama Çekirdek Veri belleğe her şeyi yükler, ve ben aslında sadece George saklı olup olmadığını bilmek istiyorum.

Bunu nasıl en verimli şekilde yapayım?

CEVAP
12 ŞUBAT 2010, Cuma


Temel Veri talep kurulum ve aslında sorgu vermek yerine, aşağıdakileri yapın:

NSError *error = nil;
NSUInteger count = [managedObjectContext countForFetchRequest:request
                                                        error:&error];
if (!error) {
    return count;
} else {
  return 0;
}

Uygulama yöntemi countForFetchRequest:error: fetch belirli bir isteği varsa executeFetchRequest:error: geçmiş olsaydı iade olurdu nesne sayısını verir.


Düzenleme:(Regexident tarafından)

GibiJosh Caswelldoğru, hataları işlemek için doğru şekilde yorumladı bu ya:

if (count == NSNotFound) {
    NSLog(@"Error: %@", error);
    return 0;
}
return count;

ya bu hata günlüğü olmadan ():

return (count != NSNotFound) ? count : 0;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Creavite

    Creavite

    8 Mart 2009
  • eisleyhead

    eisleyhead

    11 Ocak 2006
  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006