Mam jednostkę w danych podstawowych, która ma atrybut, który musi być unikalny. Nie można tego ustawić w interfejsie graficznym. Zakładam, że muszę utworzyć niestandardową klasę dziedziczącą po obiekcie NSManagedObject, a następnie napisać własną metodę sprawdzania poprawności.Jak utworzyć niestandardową weryfikację (dla unikalności) w danych podstawowych?
Pomyślnie utworzyłem klasę niestandardową, wybierając elementy w edytorze wizualnym i wybierając opcję Plik -> Nowy -> Nowy plik -> Podklasa NSManagedObject. Używam tego do dodawania znaczników czasu tworzenia, więc wiem, że to działa.
Ale co teraz? Jakie metody są potrzebne?
The NSManagedObject reference guide mówi mi, aby "wdrożyć metody sprawdzania poprawności formularza: błąd:", ale nie podaje przykładu.
Podobne pytania here i here, ale potrzebuję trochę więcej pomocy.
Kompletny przykład byłby świetny, ale każda pomoc jest doceniana.
Czy wypróbowałeś jedno z rozwiązań w odpowiedzi, którą ci dali? Zasadniczo sprawdź unikalność przed wywołaniem zapisu. Kod w drugim przykładzie powinien być wszystkim, czego potrzebujesz. – sosborn
@sosborn Poniższe przykłady pokazują, jak działa samo sprawdzanie poprawności (iteracja nad wszystkimi poprzednimi rekordami, które szukają tej samej wartości), ale nie w miejscu ich umieszczenia. –
Po prostu wykonaj metodę, która zwraca BOOL. Jeśli jest to unikalny zwrot YES, w przeciwnym razie zwróć NIE. Wezwij tę metodę. Jeśli zwróci TAK, zapisz, jeśli nie zwróci nic, nie rób tego. – sosborn