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

  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • Exalto_Gamer

    Exalto_Gamer

    15 EKİM 2014
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008