Xcode - jak naprawić 'NSUnknownKeyException', powód: ... ta klasa nie jest zgodna z kodowaniem wartości klucza dla błędu klucza X"?

Próbuję połączyć UILabel z IBOutlet utworzonym w mojej klasie.

Moja aplikacja zawiesza się z następującym błędem.

Co to znaczy? Jak mogę to naprawić?

* * * zamykanie aplikacji z powodu wyjątku 'NSUnknownKeyException', powód: '[ setValue: forUndefinedKey:]: ta klasa nie jest zgodna z kodowaniem wartości klucza XXX. '

Author: Guillaume Dubois, 2010-06-21

30 answers

Twój kontroler widoku może mieć złą klasę w Twoim xib.

Pobrałem Twój projekt.

Błąd, który dostajesz to

'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: ta klasa nie jest zgodna z kodowaniem wartości klucza dla łańcucha klucza.'

Jest to spowodowane przez kontroler widoku Second w MainWindow.xib mający klasę UIViewController zamiast SecondView. Zmiana na poprawną klasę rozwiązuje problem.

Nawiasem mówiąc, źle jest mieć nazwy takie jak "string" w Objective-C. wywołuje to kolizję nazw w trybie runtime. Unikaj ich nawet w jednorazowych aplikacjach treningowych. Nazewnictwo kolizji może być bardzo trudne do wyśledzenia i nie chcesz tracić czasu.

Inny możliwy powód tego błędu: podczas kopiowania i wklejania elementów z jednego kontrolera do drugiego, Xcode w jakiś sposób zachowuje link do oryginalnego kontrolera, nawet po edycji i ponownym podłączeniu tego elementu do nowy kontroler.

Inne możliwe przyczyny tego błędu:

Złe Ujście.

Masz usuniętelub przemianowane nazwę outlet w pliku .h.

Usuń go w Inspektorze połączenia pliku .xib lub .storyboard.

Jeszcze jeden możliwy powód

(w moim przypadku) rozszerzenie UIView o właściwości bindowalne i ustawienie wartości dla tych właściwości bindowalnych (tj. Cień, promień narożnika itp.) then usuń te właściwości z rozszerzenia UIView (z jakiegoś powodu), ale następujące <userDefinedRuntimeAttributes> pozostało w xml (z foo.storyboard):

<userDefinedRuntimeAttributes>
  <userDefinedRuntimeAttribute type="color" keyPath="shadowColor">
      <color key="value" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  </userDefinedRuntimeAttribute>
  <userDefinedRuntimeAttribute type="number" keyPath="shadowOpacity">
      <real key="value" value="50"/>
  </userDefinedRuntimeAttribute>
  <userDefinedRuntimeAttribute type="point" keyPath="shadowOffset">
      <point key="value" x="5" y="5"/>
  </userDefinedRuntimeAttribute>
  <userDefinedRuntimeAttribute type="number" keyPath="shadowRadius">
      <real key="value" value="16"/>
  </userDefinedRuntimeAttribute>
  <userDefinedRuntimeAttribute type="number" keyPath="borderWidthValue">
      <real key="value" value="0.0"/>
  </userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>

Rozwiązanie: kliknij prawym przyciskiem myszy na foo.storyboard > Otwórz jako kod źródłowy > Szukaj za pomocą klawiatury (np.]}

 1020
Author: Hassan Tareq,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-03-26 01:55:49

Możesz mieć złe połączenie w swoim xib.

Miałem ten błąd wiele razy. Podczas gdy odpowiedź TechZen jest absolutnie słuszna w tym przypadku, Inną częstą przyczyną jest zmiana nazwy właściwości IBOutlet w Twoim .h/.m, które już połączyłeś z właścicielem pliku w stalówce.

Z Twojej stalówki:

  1. Wybierz obiekt w IB i przejdź do "Inspektora połączeń".
  2. W sekcji "punkty odniesienia" upewnij się, że Twój obiekt nie jest jeszcze związana ze starą nazwą nieruchomości... jeśli tak, Kliknij mały "x", aby usunąć odniesienie i zbudować ponownie.

    Tutaj wpisz opis obrazka

Kolejna częsta przyczyna, jeśli używasz Storyboard, Twój UIButton może mieć więcej niż jedno przypisanie (rozwiązanie jest prawie takie samo jak dla stalówki):

  1. Otwórz swój storyboard i kliknij prawym przyciskiem myszy UIButton
  2. Zobaczysz, że jest więcej niż jedno przypisanie/ref do tego przycisku. Usuń jeden z " Main..." szare okna z małym "x":

    przykład 2

 1564
Author: OhadM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2020-01-15 07:50:28

Musiałem usunąć aplikację z symulatora/iPhone ' a, aby pozbyć się tego błędu.

 118
Author: Steve Rogers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-09 05:32:33

Miałem ten błąd, gdy próbowałem zaimplementować Niestandardowy ViewCell dla tabeli. Kiedy podświetlony kontroler widoku dla XIB i podłączony do elementów w CellView spowodował błąd "ta klasa nie jest zgodna z kodowaniem wartości klucza" po usunięciu tych pozbył się błędu.

Usuń połączenia z poniższego obrazka. Usuń połączenia w Inspektorze, gdy podświetlony jest właściciel pliku

Upewnij się, że masz tylko połączenia z komórką widoku tabeli. Aby sprawdzić Kliknij na komórkę widoku tabeli i w Inspektorze, poszukaj swoich powiązań.

Połączenie powinno być tutaj, gdy podświetlona jest komórka widoku tabeli

 117
Author: uplearnedu.com,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-21 21:58:42

Czasami ma to związek z Twoim "Inheritate From Target", że wartość musi być ustawiona. Z pojedynczymi aplikacjami docelowymi możesz po prostu wybrać opcję Dziedzicz od docelowego. Jeśli masz więcej niż jeden cel wybierz żądany cel.

Tutaj wpisz opis obrazka

 116
Author: Shruti Thombre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-10-10 05:52:03

Jeśli jest to aplikacja tylko na iPhone ' a, a nie uniwersalna, upewnij się, że poniższe pole jest puste:

Cele > podsumowanie > informacje o wdrożeniu iPhone/iPod > Główny Interfejs

Jeśli podasz tam xib, spowoduje to awarię.

 66
Author: erkanyildiz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-30 13:00:40

Ten błąd wskazuje, że już podłączony Konstruktor interfejsu obiekt jest usuwany / zmieniany na nazwę w źródle jego właściciela (właściciela pliku).

Control-kliknij na właściciela Plikóww Kreatorze interfejsów, jeśli zobaczysz wykrzyknik, Musisz to naprawić.

Na poniższym obrazku widać, że "aRemovedView" ma wykrzyknik po prawej stronie, to dlatego, że usunąłem obiekt iboutlet view, gdy był już podłączony w IB.

Tutaj wpisz opis obrazka

To daje następujący błąd: zamykanie aplikacji z powodu nieużywanego wyjątku 'NSUnknownKeyException', powód: '[setValue: forUndefinedKey:]: ta klasa nie jest zgodna z kodowaniem wartości klucza dla klucza aRemovedView.'

 60
Author: Tibidabo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-31 03:34:08

Miałem ten sam problem i chociaż odpowiedź Techzena może być niesamowita, trudno mi było zastosować się do mojej sytuacji.

Ostatecznie rozwiązałem problem, łącząc etykietę za pomocą kontrolera wymienionego w Objects (zaznaczonego na obrazku poniżej), a nie za pomocą File Owner.

Mam nadzieję, że to pomoże.

Tutaj wpisz opis obrazka

 42
Author: Eric Brotto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-28 18:33:35

W moim przypadku był to błąd w kodzie źródłowym storyboardu, wykonaj następujące kroki:

  1. najpierw otwórz swoją tablicę jako kod źródłowy
  2. Szukaj <connections>
  3. Usuń niechciane połączenia

Na przykład:

<connections>
    <outlet property="mapPostsView" destination="4EV-NK-Bhn" id="ubM-Z6-mwl"/>
    <outlet property="mapView" destination="kx6-TV-oQg" id="4wY-jv-Ih6"/>
    <outlet property="sidebarButton" destination="6UH-BZ-60q" id="8Yz-5G-HpY"/>
</connections>

Jak widzisz, są to połączenia między nazwami zmiennych kodu a znacznikami XML układu storyboard;)

 39
Author: fareed namrouti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-15 18:07:40

Tutaj wpisz opis obrazkaTutaj wpisz opis obrazka

Moja poprawka była podobna do Gerarda Grundy ' ego. podczas tworzenia niestandardowego UITableViewCell za pomocą XIB, omyłkowo zastosowałem nazwę niestandardowej klasy do właściciela pliku zamiast do Uitableviewcell. Zastosowanie klasy do UITableViewCell na kanwie i podłączenie do niej moich właściwości IBOutlet rozwiązało problem.

 33
Author: ashack,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-06 19:57:21
  1. musisz tylko raz podać IBOutlet, etykieta IBOutlet Twój ivar jest niepotrzebny.
  2. czy tworzysz swoją stalówkę używając swojej UIViewController? W pewnym momencie powinieneś zadzwonić [SecondView initWithNibName:@"yourNibName" bundle:nil];
 31
Author: kubi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-21 20:07:53

To działo się ze mną tylko podczas debugowania na urządzeniu (iPhone). Symulator iOS działał OK. Robienie "produkt - > czysty" z Xcode wydawało się rozwiązać problem, ale nie mam pojęcia, dlaczego.

 30
Author: Maj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-14 00:00:16

Miałem dokładnie ten sam komunikat o błędzie i dzięki (!!) do Kiry z http://www.idev101.com udało mi się rozwiązać to wyzwanie. Znalazłem jej stronę dopiero po wygooglowaniu i ułożeniu wszystkich tych wątków. Teraz zamieszczam tutaj następny, który przychodzi do StackOverFlow i ma to samo wyzwanie, jakie miałem, ponieważ ta osoba najprawdopodobniej przyjdzie do tego wątku przez Google.

Zdałem sobie sprawę, że źle to zrobiłem:

UIViewController *deviceViewController = [[UIViewController alloc] initWithNibName:@"DeviceViewController" bundle:nil];

Zamiast To:

DeviceViewController *deviceViewController = [[DeviceViewController alloc] initWithNibName:@"DeviceViewController" bundle:nil];

Gdzie

DeviceViewController

To nazwa mojej klasy znana również jako

DeviceViewController.h 
DeviceViewController.m

Będziesz musiał

"import DeviceViewController.h"

W Twojej implementacji (.m File) gdzie chcesz wywołać np. inny kontroler UIViewController.

Absolutnie nie jest mi przykro, jeśli stwierdzam tylko oczywiste dla początkujących jak ja i może dostać głosy w dół, ponieważ nie jest to dokładnie związane z pytaniem, ale szukałem 4 (?!?) godziny prosto teraz na odpowiedź na ten Komunikat o błędzie. Jeśli Mogę to oszczędzić 1 lub 2 osoby byłoby super:)

PS: dla zainteresowanych jak kod kontynuuje Ładowanie drugiego kontrolera UIViewController:

    [self presentViewController:deviceViewController animated:YES completion:nil];
 23
Author: Yannis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-31 21:40:20

Może to wynikać z faktu, że masz kontrolę przeciągniętą i utworzyłeś wylot lub akcję, a zapomniałeś ją usunąć. Nawet jeśli usunąłeś kod, a nawet jeśli zrobiłeś wystarczającą ilość cmd+Z, musisz przejść do inspektora połączeń w swoim storyboardzie i sprawdzić, czy utworzona akcja lub gniazdko nadal tu jest, czy nie.

 23
Author: Ilansky Naftali,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-12 12:08:19

Patrząc na inne odpowiedzi wydaje się, że istnieje wiele rzeczy, które mogą spowodować ten błąd. Jeszcze jeden.

If you

  • mieć własny widok
  • Dodano właściwość @IBInspectable
  • a potem ją skasował

Wtedy może pojawić się błąd podobny do

Failed to set (xxx) user defined Widok]...: ta klasa nie jest zgodna z kodowaniem wartości klucza [xxx].

Rozwiązaniem jest usunięcie starej właściwości.

Tutaj wpisz opis obrazka

Otwórz Inspektora tożsamości dla swojej klasy, wybierz nazwę właściwości w atrybutach Runtime zdefiniowanych przez Użytkownika i naciśnij przycisk minus ( -).

 21
Author: Suragch,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-05 14:19:15

To mi się zdarza, gdy mój kontroler widoku pierwotnie miał .plik xib, ale teraz jest tworzony programowo.

Mimo, że usunąłem .plik xib z tego projektu. Użytkownicy iPhone/iPad mogą zawierać .pliki xib dla tego kontrolera widoku.

Próba załadowania an .plik xib zwykle powoduje awarię:

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x18afe0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key welcomeLabel.'

Rozwiązanie podczas tworzenia go programowo może być takie:

-(void)loadView {
    // Ensure that we don't load an .xib file for this viewcontroller
    self.view = [UIView new];
}
 15
Author: neoneye,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-27 19:06:23

Właściwość"Module" kontrolera widoku w Inspektorze tożsamości może być inna niż oczekiwano. Upewnij się również, że nowe klasy są dodawane do listy docelowej.

 13
Author: ercu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-20 16:24:14

Miałem podobny problem dla projektu, który ma dwa cele (z własnym MainWindow XIB). Podstawowym problemem, który spowodował ten błąd dla mnie było to, że Klasa UIViewController nie została uwzględniona w liście zasobów drugiego projektu. Tzn. interface builder pozwolił mi określić go w MainWindow.xib, ale w czasie wykonywania system nie mógł zlokalizować klasy.

Tj. cmd-kliknij na daną klasę UIViewController i sprawdź, czy jest ona zawarta w zakładce 'Targets'.

 11
Author: David Carney,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-01-06 04:36:56

Aby dodać do tego, bo ja też dostawałem ten błąd. Przechodząc przez wszystkie te odpowiedzi, większość wydaje się dotyczyć pracy z interfejsem użytkownika i storyboardem. Wiem, że oryginalny plakat wydawał się działać z interfejsem użytkownika, ale podczas wyszukiwania możliwych przyczyn tego błędu głównie wszystkie pytania prowadzą do tego pytania, a te inne są zamykane jako duplikaty lub po prostu mają problemy z łączeniem rzeczy w storyboardzie, więc dodam moje rozwiązanie.

Pracowałem nad kodowanie usługi internetowej w Swift 2. Zbudowałem wszystkie potrzebne obiekty proxy i stuby. Gdy przechodziłem przez zwracany XML, dynamicznie tworzyłem instancje moich obiektów, które wszystkie pochodziły z NSObject i używałem na nich setValue:forKey. Za każdym razem, gdy setValue:forKey próbował ustawić nieruchomość, wybuchał z tym błędem.

Miałem polecenie switch dla każdego typu, z którym miałem do czynienia (np. Bool?, CShort?, String?) i dla każdego węzła XML przejrzałem i sprawdziłem jaki jest typ na obiekcie a następnie przekonwertowałem wartość na tego typu i próbował ustawić go za pomocą setValue:forKey.

W końcu zacząłem komentować wszystkie te setValue:forKey wiersze i stwierdziłem, że mój default przypadek switch statement działa dla String?.

W końcu zrozumiałem, że nie można używać opcjonalnych typów swift z setValue:forKey, chyba że mają bezpośrednie odwzorowanie do typu Objective-C, takiego jak String? lub NSNumber?. Skończyło się na zmianie wszystkich typów CShort? na NSNumber?, ponieważ ma bezpośrednie odwzorowanie. Dla Bool? w moim przypadku było w porządku dla mnie, aby po prostu użyć Bool i zainicjalizuj go na false. Inni mogą nie mieć tego luksusu.

W każdym razie co to był ból głowy, więc mam nadzieję, że pomoże to komuś, kto ma podobny problem i ciągle zostaje przekierowany na to pytanie i mówi do siebie: "nie robię nic w interfejsie użytkownika!!".

Na koniec powtórzę jeszcze raz kodowanie wartości klucza nie działa z opcjami. Ponizej znalazlem gdzies ale zapominam gdzie wiec temu kto to zamiescil przepraszam i dałbym kredyt jesli pamiętałem, gdzie to znalazłem, ale to uratowało mi życie:

Nie można użyć KVC na opcjonalnej właściwości Int, ponieważ KVC jest Cocoa / Objective-C, A Objective-C nie widzi opcjonalnego Int - nie jest pomostowe do Objective-C. Objective-C widzi tylko typy, które są pomost do Objective-C:

Typy klas wywodzące się z NSObject

Typy klas, które są narażone na @objc

Struktury Swift, które są mostkowane

 9
Author: AtheistP3ace,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-26 15:24:03

" Ta klasa nie jest zgodna z kodowaniem wartości klucza" Wiem, że jest trochę późno, ale moja odpowiedź jest inna, więc myślę, że należy ją opublikować, popychałem drugi kontroler w niewłaściwy sposób, oto sample

Wrong Way to Push Controller

UIViewController* controller = [[UIViewController
 alloc]initWithNibName:@"TempViewController" bundle:nil];
         [self.navigationController pushViewController:controller animated:true];

Poprawny sposób

TempViewController* controller = [[TempViewController
 alloc]initWithNibName:@"TempViewController" bundle:nil];
         [self.navigationController pushViewController:controller animated:true];

Nie znalazłem żadnej odpowiedzi jak powyżej, więc może to pomóc komuś, kto ma ten sam problem

 9
Author: Muhammad Ammad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-20 13:02:27

Tak może być w przypadku odwoływania się do komponentu z interfejsu Xib, którego nazwę zmieniono lub usunięto. Przekierowanie działa dla mnie.

 8
Author: MehrozKarim,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-11 10:34:19

Właśnie miałem ten problem w moim zdublowanym projekcie i rozwiązałem sprawdzając 2 miejsca:

1-Upewnij się, że masz .m plik na liście - > fazy projektu-budowania-kompilowania źródeł
2 - Następnie przejdź do interface builder (prawdopodobnie jest to błąd występuje tylko z IB) i odłącz wszystkie właściwości, etykiety, obrazy, itp... Następnie połącz wszystkie. Zdałem sobie sprawę, że usunąłem atrybut, ale nadal był połączony w IB.

Mam nadzieję, że dla niektórych to zadziała.

 8
Author: kubilay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-23 09:06:28

Kolejny "niezgodny" problem znalazłem, kiedy udało mi się mieć dwie kopie klasy z jakiegoś powodu.

Dodałem Klucze do niewłaściwej kopii. Interface Builder nadal widział klucze i pozwolił mi się do nich podłączyć, ale podczas wykonywania używała drugiej kopii klasy, która nie miała nowych kluczy.

Aby znaleźć" właściwą " kopię użyłem cmd XCode-kliknij na nazwę klasy gdzie indziej, aby przejść do poprawnej kopii, następnie usunąłem złe nieużywane kopie (po przeniesienie moich edycji z nieużywanej kopii).

Morał z historii: duplikaty plików klas są złe.

 7
Author: Jason,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-21 14:04:02

Ten błąd to coś innego!

Oto Jak to naprawiłem. Używam xcode w wersji 6.1.1 i używam swift. Mam ten błąd za każdym razem, gdy moja aplikacja próbowała wykonać segue, aby przejść do następnego ekranu. Oto co zrobiłem.

  1. sprawdzono, czy przycisk jest podłączony do właściwej akcji.(To nie był problem, ale nadal warto sprawdzić)
  2. Sprawdź, czy przycisk nie posiada żadnych dodatkowych akcji lub gniazd, które mogły zostać utworzone przez pomyłkę. (To nie był problem, ale nadal dobrze sprawdzić)
  3. Sprawdź logi i upewnij się, że wszystkie przyciski na następnym ekranie mają poprawne działania, a jeśli są jakieś segmenty, upewnij się, że mają unikalny identyfikator. (To był problem)
    • jeden z segmentów nie miał unikalnego identyfikatora
    • jeden z przycisków miał działanie i dwa wyloty, które stworzyłem przez pomyłkę.
    • usuń wszelkie dodatkowe gniazdka i upewnij się, że segmenty do następnego ekranu mają unikalne identyfikatory.

Pozdrawiam,

 7
Author: Ronaldoh1,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-22 06:43:03

Miałem ten sam objaw. Główną przyczyną było to, że "Target Membership" dla mojego pliku źródłowego nie był ustawiony na prawidłowy cel. Zakładam, że oznacza to, że moja klasa nie zostanie zbudowana i włączona do mojej aplikacji.

Do poprawienia:

  1. Podświetl swoje .plik M.
  2. W prawym okienku wybierz Inspektora plików.
  3. w sekcji "Target Membership" upewnij się, że jest zaznaczony odpowiedni cel budowania.

Mam nadzieję, że to komuś pomoże.

 6
Author: Mike M. Lin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-24 21:11:58

Jeśli masz niestandardową podklasę UIViewController z Iboutletami, które powodują problemy, jedynym zestawem kroków, które znalazłem, aby faktycznie pozbyć się błędu były

.1 Zmień klasę na UIViewController

.2 Odłącz wszystkie gniazdka (wszystkie będą teraz miały żółty trójkąt ostrzegawczy) - może wystarczyć tylko odłączyć problematyczne gniazdka(y).

.3 Wykonaj wszystkie standardowe kroki - ↑⌘K, Usuń dane pochodne (, maty modlitewne, worry beads)

.4 Uruchom aplikację - przejdź do problematycznej sceny.

.5 Zabij aplikację, wróć do Interface Builder Zmień klasę z powrotem na niestandardową nazwę klasy.

.6 Podłącz ponownie swoje gniazdka.

Uruchom aplikację i to zwykle usunie problemy z zgodnością z wartością klucza.

 6
Author: Damo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-07 13:38:21

W moim przypadku. Nie miałem brakujących gniazd w plikach xib po połączeniu.

Shift + Command + K

Rozwiązałem mój problem. Wyczyściłem projekt i przebudowałem.

 5
Author: user123456,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-02 09:23:48

W moim przypadku było to spowodowane odwołaniem się do niewłaściwej Stalówki:

BMTester *viewController = [[BMTester alloc] initWithNibName:@"WrongNibName" bundle:nil];
 4
Author: wspruijt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-14 13:39:55

Miałem ten błąd z storyboardami. Powyższe rozwiązanie nie wydawało się problemem, więc skończyło się na usunięciu kontrolera widoku i dodaniu go z powrotem (i oczywiście ponownym podłączeniu segue i ponownym przypisaniu klasy)co go naprawiło. Nie wiem, co to tak naprawdę było, ale zmieniłem nazwę powiązanej klasy kontrolera widoku na krótko przed tym, więc może coś się stało.

 3
Author: Symmetric,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-28 03:10:12

Mam ten sam problem. Resetowałem symulator. Usuwanie i dodawanie przycisków sterujących. i w końcu posprzątałem. :) Dzięki przepełnieniu stosu. Trochę jak mój kod stał się ok i zaczął działać.

 3
Author: priya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-01 10:32:55