2012-04-06 10 views
5

Mam obiekt, który implementuje szeregowalny i mam słownik z kilkoma z tych obiektów. Kiedy kompiluję i uruchamiam, otrzymuję wiele ostrzeżeń mówiących, że zastępuję wartości dla kluczy. Tak się dzieje, ponieważ podczas serializacji następnego obiektu w słowniku, przechowuje on zmienne z tym samym kluczem co poprzednio, prawda? Jak mogę to rozwiązać? czy istnieje sposób poznania w metodzie encodeWithCoder, czy jakakolwiek zmienna została zapisana pod tą nazwą?Jak rozwiązać ostrzeżenie NSKeyedArchiver: zastępowanie istniejącej wartości

+0

Należy pamiętać, że odpowiadanie bez żadnego kodu jest trudne. – zaph

Odpowiedz

16

encodeWithCoder: nie ma problemu z wieloma słownikami, które mają ten sam klucz lub ten sam klucz występujący w wielu obiektach. Twój problem jest bardziej prawdopodobny, że kodujesz wiele rzeczy tym samym kluczem w tym samym obiekcie (np. W twoich rozmowach z numerem encodeObject:forKey:).

+0

Dziękuję za odpowiedź. Masz na myśli to samo wystąpienie obiektu? Na przykład, gdybym wywołał "encodeObject: forKey: "tym samym kluczem dwukrotnie w tej samej metodzie "encodeWithCoder:"? – XaitormanX

+1

tak, lub w superklasie. –

+0

Dobrze, dziękuję. Ponownie zmienię metodę – XaitormanX

Powiązane problemy