Mam nadzieję znaleźć sposób sprawdzenia, czy atrybut CoreData jest pusty. Sam atrybut jest typu danych binarnych. Jeśli atrybut jest pusty, mógłbym poprosić moją klasę o pobranie i zapisanie niektórych danych do tego atrybutu.Sprawdź, czy atrybut CoreData jest pusty.
Zgodnie z dokumentacją CoreData nie powinieneś kontynuować pobierania, aby zobaczyć, czy istnieją obiekty. Zastanawiam się, czy istnieje nawet sposób, aby to zrobić? bez łamania tego "prawa"?
To jest moja pierwsza próba użycia CoreData. Dodaję go do mojego kodu, co jest nieco bardziej bolesne, ale jak dotąd wszystko wydaje się być w porządku. Po prostu muszę znaleźć logiczny sposób sprawdzenia, czy atrybut ma wartości. Jeśli tak nie jest, to muszę pobrać i zapisać nowe dane, jeśli to zrobię, po prostu użyję tego, co jest w atrybucie.
Aktualizacja:
Właśnie się tej metody w ramach CoreData że zostały czytania chociaż próbuje złapać sobie przerwę na ten temat. Nie jestem pewien, czy to pomogłoby ... co wy myślicie?
willAccessValueForKey: Zapewnia obsługę wyświetlania wartości klucza i obserwacji o dostępie do .
- (void) willAccessValueForKey: (NSString *) key Parametry key Nazwa jednej z właściwości odbiornika. Dyskusja Patrz: didAccessValueForKey: więcej szczegółów. Można wywołać tę metodę z wartością klucza równą zeru, aby upewnić się, że usterka została wywołana, co oznaczono na poniższym przykładzie jako .
[aManagedObject willAccessValueForKey: nil];
Nie wiem, naprawdę .. rzeczy, że ja nie rozumiem jest Zapewnia obsługę klucz-wartość obserwacji powiadomienie dostępu. ???
dobrze fajnie .. dzięki za to. To po prostu niepokój, ponieważ przeczytałem, że wydawanie wielu żądań pobierania jest niegrzeczną rzeczą: P –
Zawsze możesz uniemożliwić komukolwiek stworzenie obiektu z pustym atrybutem, czyniąc go nieobowiązkowym. Lub możesz budować obiekty, które monitorują zmiany w bazie danych i dodawać/usuwać obiekty do globalnej listy, gdy mają wartość atrybutu zero/zero. –