Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
Xcode Fehlermeldung
Xcode Fehlermeldung
hobbittt
21.09.11
19:10
Hallo,
kann hier jemand etwas mit dieser Fehlermeldung anfangen?
Danke schon einmal im Voraus!
2011-09-21 19:06:20.016 AppName[1002:b303] Unknown class TVOutViewController in Interface Builder file.
2011-09-21 19:06:20.021 AppName[1002:b303] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x4bb0780> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label.'
Hilfreich?
0
Kommentare
justanothermacianer
21.09.11
20:16
Für mich sind die Fehlermeldungen im Compiler manchmal auch ziemlich unverständlich aber normalerweise hilft Tante Google:
Schau dir mal das hier an, vielleicht hilft dir das
NSUnknownKeyException is a common error when using Key-Value Coding to access a key that the object doesn't have.
und
Something in your code is trying to set a value for the key 'kramerImage' on an UIView, which (apparently) doesn't support that key. If you're using Interface Builder, it might be something in your nib.
Find where 'kramerImage' is being used, and try to track it down from there.
„Mac vs PC debates make me want to throw up. Does your OS of choice work for you? Great, problem solved!“
Hilfreich?
0
hobbittt
21.09.11
21:13
Hallo,
erst einmal Danke für die Antwort. Ich habe eine Suche durchgeführt und in meiner AppDelegate (in der eigentlich alle Änderungen seit dem letzten erfolgreichen Build stehen) weder den String "key" noch "value" finden können. Der Compiler meckert auch nicht, erst beim Simulator bricht Xcode ab. Es ist mir ein Rätsel. Was bedeuten denn die Zahlen hinter UIViewController? Ist das dessen ID? Dann könnte ich das Problem wenigstens auf einen View Controller eindämmen!
Danke!
Hilfreich?
0
justanothermacianer
21.09.11
21:47
Ich hab ehrlich gesagt Probleme das jetzt alles so nachzuvollziehen nur anhand der Fehlermeldung, aber wenn du nach was suchen solltest dann nach "label"...
„Mac vs PC debates make me want to throw up. Does your OS of choice work for you? Great, problem solved!“
Hilfreich?
0
yan.kun0567
21.09.11
23:15
Also der erste Fehler besagt, das du in deiner .xib-Datei irgendwo versuchst die Klasse TVOutViewController zu referenzieren, welche jedoch nicht gefunden werden kann. Der zweite Fehler kann durch in fehlerhaftes Binding entsehen, welches durch das nicht finden von TVOutViewController passieren kann.
Hilfreich?
0
MacMark
21.09.11
23:35
UIViewController hat keine Accessor-Methoden für "label" und auch kein "label". Vermutlich hat Du anstelle Deines ViewControllers, der von UIViewController ableitet und ein "label" hat, UIViewController direkt verwendet.
„@macmark_de“
Hilfreich?
0
hobbittt
22.09.11
09:46
Hallo,
erst einmal Danke!
Ich will die Ausgangssituation noch einmal klären. Ich habe einen UIViewController mit dem Namen "TVOutViewController" erstellt, mit dem ich auf dem Fernseher über HDMI eine View erstellen will.
Diesen TVOutViewController habe ich in meiner AppDelegate mit
@class TVOutViewController
und anschließend
TVOutViewController *viewController;
referenziert.
Dann noch
@property (nontatomic, retain) IBOutlet TVOutViewController *viewController;
Soweit so gut.
Im Interface Builder habe ich dann einen neuen UIViewController erstellt und als Klasse
TVOutViewController
angegeben.
Jetzt habe ich eine .h und .m Datei
TVOutViewController.h und TVOutViewController.m
erstellt. In der .h Datei erstelle ich ein
Label
, ganz normal, wie es schon tausendmal geklappt hat. (IBOutlet, property, etc.)
In der .m Datei will ich ins Label die Anzahl der momentan "verbundenen" Screens schreiben und dieses auf dem Fernseher ausgeben (in der neuen View). Dazu folgendes:
NSArray* screens = [UIScreen screens];
label.text = [NSString stringWithFormat:@"%d", [screens count]];
Ich denke, dass der Fehler vielleicht von irgendeiner Dot-Notation kommt, die nicht funktionieren kann, wie TVOutViewController.label.text oder so ...
Habt ihr noch irgendwelche Ideen?
Bin verzweifelt!
Danke an Euch alle!
Wie gesagt, der Compiler kompiliert, bloß der Simulator simuliert nicht.
Hilfreich?
0
Urkman
22.09.11
09:58
Stell dein Projekt mal irgendwo zum Download zur Verfügung...
Für mich klingt das alles sehr verwirrend.
Ist das dein erstes iPhone Projekt?
Hilfreich?
0
hobbittt
22.09.11
11:54
Hallo,
klappt jetzt alles. Habe noch einmal neu angefangen und eine eigene *.xib Datei für den ViewController erstellt. Keine Ahnung woran es lag, scheint aber irgendwas mit einer Referenz zu tun gehabt zu haben.
Hilfreich?
0
MacMark
22.09.11
22:48
Alle Views für alle Controller in ein Nib-File zu packen, fand ich auch sehr seltsam
„@macmark_de“
Hilfreich?
0
bmc desgin
23.09.11
00:55
Was ist daran seltsam???
Eigentlich kein Problem, wenn alles stimmt...
Dazu muss man auch keine Klasse bilden...
Lediglich die Referenz muss stimmen...
Cheers
„Ask your questions...“
Hilfreich?
0
MacMark
23.09.11
23:33
Man kann sich auch ins Knie schießen.
„@macmark_de“
Hilfreich?
0
iCode
24.09.11
09:36
bmc desgin
Was ist daran seltsam???)
Naja, man versucht genau das üblicherweise zu vermeiden.
Regel 1 lautet: "Keep Your Nib Files Small"
Hilfreich?
0
Urkman
24.09.11
12:41
Ich versuche gar keine nibs mehr zu nutzen...
An Anfang habe ich auch alles in nibs gemacht, mittlerweile nicht mehr
Hilfreich?
0
MacMark
24.09.11
18:40
Urkman
Ich versuche gar keine nibs mehr zu nutzen...
Das ist nicht gut, denn dann brauchst Du doppelt soviel Code und machst darin doppelt so viele Fehler. Im Gegensatz zu anderen GUI-Tools, wird mit NIBs kein Quellcode generiert, sondern lebend konfigurierte Objekte schockgefrostet und später wiederbelebt.
„@macmark_de“
Hilfreich?
0
ExMacRabbitPro
24.09.11
19:39
bmc desgin
Was ist daran seltsam???
Eigentlich kein Problem, wenn alles stimmt...
Dazu muss man auch keine Klasse bilden...
Lediglich die Referenz muss stimmen...
Cheers
Das Problem ist, dass der ganze Kladderadatsch dann immer auf ein mal in den Speicher geladen wird, obwohl möglicherweise nur ein paar Views aus dem Xib wirklich gebraucht werden. Das kostet unnötig Zeit und Speicherplatz. Auf einem Desktop mit SSD, Core i7 und 8 GB RAM mag das keine Rolle spielen, aber auf einen iDevice sieht das ganz anders aus. Da ist jedes Megabyte RAM wertvoll. Und abgesehen davon, zeugt es von einer schlechten Applikations-Architektur.
Hilfreich?
0
bmc desgin
24.09.11
22:31
Dann mach das eben alles programmatisch und verwende gar keine nibs...
Dann hat man eine noch bessere Kontrolle über die verwendeten Ressourcen...
Zumal man das Window und gegebenenfalls einen Controller nun nicht wirklich separiert als nib haben muss...
Cheers
„Ask your questions...“
Hilfreich?
0
ExMacRabbitPro
24.09.11
23:29
bmc desgin
Dann mach das eben alles programmatisch und verwende gar keine nibs...
Dann hat man eine noch bessere Kontrolle über die verwendeten Ressourcen...
Zumal man das Window und gegebenenfalls einen Controller nun nicht wirklich separiert als nib haben muss...
Cheers
Siehe Kommentar von MacMark....
Hilfreich?
0
bmc desgin
27.09.11
20:19
Ja und...
Wenn ihr da nicht durchblickt ist das wohl eher ein Problem, das ihr habt...
Wenn man alles ein wenig dokumentiert, dann weiß man auch wo was passiert und macht demnach auch weniger Fehler...
Cheers
„Ask your questions...“
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.
iPad Pro M4: Hinweise auf geringere Nachfrage
Apple kauft Pixelmator
Mac ausschalten?
Mac OS X: 25 Jahre Aqua, 25 Jahre Dock
Übersicht: Lieferzeiten für die neuen Macs
Bald viel mehr HomeKit-kompatible Geräte? Apple...
Platzgründe: Apple begründet modulare SSD und P...
Apple Intelligence: Weiterhin Nonsens-Zusammenf...