W moim podstawowym modelu danych mam podmiot z opcjonalnym atrybutem NSNumber.Przechowywanie opcjonalnego NSNumber w danych podstawowych
Jak sprawdzić, czy wartość w tym atrybucie jest ważna, czy nie?
Kiedy test na zero ... nie działa.
[self numberAttribute] == nil // always returns NO
Kiedy testuję dla wartości int zera, to nie działa.
[[self numberAttribute] intValue] == 0 // always returns no
W rzeczywistości [[self numberAttribute] intValue]] zwraca coś, co wygląda podejrzanie podobny wskaźnik do adresu pamięci.
Ktoś ma pojęcie, co robię źle?
EDYCJA: OK, błąd był w całkowicie niezwiązanej części kodu. NSNumber i Core Data działają dokładnie tak, jak można by oczekiwać. To powiedziawszy, zamierzam pójść z sugerowanym podejściem, czyniąc atrybut nieobowiązkowym i określając 0 jako wartość domyślną.
Po prostu umieszczenie tej notatki na chwilę dla każdego, kto oglądał to pytanie, a następnie usuwam ją.
Nie mam wystarczającej liczby przedstawicieli do edycji, ale twój drugi przykładowy kod ma niezbalansowane nawiasy (2 nawiasy otwierające i 3 zamykające). – Mark
Wielkie dzięki. Naprawiony. – mmc
numberAttribute jest określana jako float w modelu danych? Jak zadeklarowana jest właściwość dla numberAttribute? Jak wyglądają te dodatki lub implementacje (jeśli nie korzystasz z @dynamicowych akcesorów). Bez tych informacji nie można odpowiedzieć dokładnie na twoje pytanie. –