2012-05-21 11 views
10

to pytanie może wydawać się trochę dziwne, ale nie mogę się obłapić, dlaczego tak się dzieje.Niestandardowa klasa segregacji XCode

Zmieniłem nazwę niestandardowej klasy segue i odzwierciedliłem ją w scenorysie w "klasie niestandardowej", ale nadal próbuje wywołać starą.

Oczyściłem folder kompilacji i przeszukałem projekt pod kątem starej niestandardowej nazwy klasy i nie znaleziono niczego w xcode przynajmniej. Zajrzałem do pliku scenorysu, nie ma go również.

Nawet jeśli usunę niestandardowy segue wszystkich toghether uzyskać:

'Could not find a segue class named 'xxxxxxxxx'' 

Chodzi o to, że nie może zrozumieć, skąd dostaje „xxxxxxxxx” powyżej, nie znajduje się w pliku serii ujęć lub w kodzie.

[[[self view] viewWithTag:1] resignFirstResponder]; 

Podczas debugowania jest to miejsce, w którym przechodzi do wątku kill pokazującego błąd. Usunąłem wszystkie punkty sprzedaży, zdarzenia i segue na polu tekstowym. Nie mam niestandardowej segue używając "xxxxxxxxx" jako klasy w dowolnym miejscu.

Czy jest jeszcze coś, co mogę zrobić, aby dokładniej wyczyścić projekt? Gdzie zacząć?

+1

Czy próbowałeś usunąć aplikację na urządzeniu/zresetować symulator? Czy sprawdziłeś, czy klasa segue jest poprawnie zdefiniowana w obiekcie w storybooku? – nhahtdh

+0

Nie jestem biegły w ogóle w mac, ale starałem się przeszukać cały dysk twardy w poszukiwaniu plików zawierających nazwę klasy i nic nie znalazłem. – Ostmeistro

+0

Hej, dzięki. I zresetować ustawienia symulatora i treści ustaw locale, ale gdy uruchomię go dostanę złą storyboard (mam jedno angielskie nawet trudne Mam ustawiony symulator szwedzkich) Storyboard angielski nie jest gotowy i teraz nie mogę zmusić go do uruchomienia tego, który dostałem w folderze sv.lproj. Czy to jest wskazówka? @nhahtdh – Ostmeistro

Odpowiedz

5

Odpowiedzią jest zresetowanie członkostwa w zestawie scenariuszy, a następnie zresetowanie symulatora.

+0

Boże, zajęło mi dwie godziny walczenia o to małe kliknięcie! Dziękuję bardzo, uratowałeś mój dzień! –

+0

Mam ten sam problem, a dla mnie zresetowany symulator nie pomaga –

+0

@ János: Rozwiązanie różni się w zależności od przypadku. Czy próbowałeś sugestii w innej odpowiedzi? – nhahtdh

6

Dla innych osób, które wyszły z sieci, szukając odpowiedzi: sprawdź, czy uwzględniono plik implementacji w fazie budowania. W moim przypadku miałem kilka celów, a drugiemu celowi brakowało tego pliku implementacji.

71

To było to, co pracował dla mnie - musiałem wybrać segue interfejsu konstruktora i ustawić moduł z „None” do mojego nazwa projektu, który ukazał się w menu.

+2

Pomógł mi też, ale jak tego uniknąć? –

+0

ma sens, jednak lista modułów jest wyszarzona. Jeśli dołączę niestandardową klasę, jest ona włączona, ale nie dla mnie. – mobibob

+0

@MihaelIsaev Złożyć radar –

3

Sprawdź to inne pytanie WSTĘPNE. Odpowiedź na "problem # 1", deklarując Specjalnie seque klasy być i objective-c klasa

Similiar SO Q&A - speaks to a flaw in XCode

Podsumowanie odpowiedzi:

@objc(CustomSequeLeft2Right) 
class CustomSequeLeft2Right { 
. 
. 
. 
} 
0

Mój problem został jawnie ustawić Nazwa "Class" w konstruktorze interfejsu; który nie był wymagany. Jest zarządzany przez Xcode i domyślnie UIStoryboardSegue.

Powiązane problemy