2011-08-17 12 views
27

Mam tę wiadomość, gdy zapisuję dane w danych podstawowych.Co powoduje "NSScanner: zerowy argument łańcuchowy"?

NSScanner: nil string argument 

nie używałem żadnej metody NSScanner. Skąd się to wzięło?

To jest błąd? Co powinienem z tym zrobić?

Dziękuję za pomoc, proszę.

+0

umieść punkty hamowania i niektóre logi na wszystkich twoich datach, aby zobaczyć, który obiekt jest zerowy –

+0

THX. Znalazłem zapisaną wartość textfiled, którą usunąłem w IB. – Jimi

Odpowiedz

34

Z doświadczenia mogę powiedzieć, że -[NSDecimalNumber initWithString:] z ciągiem nil to jedna rzecz, która powoduje, że komunikat dziennika.

Ustaw punkt przerwania na -[NSScanner initWithString:] na początek; jeśli nie złapiesz go w ten sposób, przerwij inne sposoby tworzenia skanera, na przykład +scannerWithString:. Tak właśnie wyrzuciłem niechciane oświadczenie dziennika.

+1

Jep, miałem problem, próba utworzenia 'NSDecimalNumber' z pustym łańcuchem spowoduje zalogowanie tego ostrzeżenia. – Pascal

+1

Jeśli twoje użycie NSLog jest rzadkie, możesz także włamać się na 'NSLog', który jest używany do generowania komunikatu o błędzie. –

+0

to jest zaskakująco poprawne :) – neelabh

5

FWIW, otrzymałem tę wiadomość podczas tworzenia głównej aplikacji danych.

To dzięki mnie przebudowałem i uruchomiłem aplikację w symulatorze, co skutecznie zabija twój uruchomiony proces bez przechodzenia przez żadną z twoich metod wyjścia.

W zależności od tego, kiedy/gdzie zapisujesz kontekst obiektu zarządzanego, możesz pozostawić gdzieś niekompletny obiekt zarządzany, a następnie skanery, które oczekiwałyby znalezienia wartości, nie miałyby nic po uruchomieniu aplikacji, a obiekty o połowicznym upakowaniu były wrócił ze sklepu.

-1

Otrzymałem ten błąd awarii, ale nie o numerze nil string. Moim powodem jest to, że używam komórki w scenorysie jako dynamicznej, ale ustawię Static Cells w Inspektorze atrybutów. Zmieniłem ten atrybut na Dynamic Prototypes, rozwiązałem problem.

0

Mam ten sam dziennik awarii NSScanner: nil string argument.

To mój sitution

  • Wszystko działa poprawnie na urządzeniu.
  • Zawieszanie przy dequeueReusableCellWithIdentifier tylko na symulatorze

Rozwiązałem go

na produkcie> Clean Następnie rebuild.Every rzecz działa dobrze dla mnie. Nie wiem, dlaczego tak się stało.

Powiązane problemy