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

hobbittt21.09.1119: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.'
0

Kommentare

justanothermacianer
justanothermacianer21.09.1120: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!“
0
hobbittt21.09.1121: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!
0
justanothermacianer
justanothermacianer21.09.1121: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!“
0
yan.kun056721.09.1123: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.
0
MacMark
MacMark21.09.1123: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“
0
hobbittt22.09.1109: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.
0
Urkman22.09.1109: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?
0
hobbittt22.09.1111: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.
0
MacMark
MacMark22.09.1122:48
Alle Views für alle Controller in ein Nib-File zu packen, fand ich auch sehr seltsam
„@macmark_de“
0
bmc desgin23.09.1100: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...“
0
MacMark
MacMark23.09.1123:33
Man kann sich auch ins Knie schießen.
„@macmark_de“
0
iCode
iCode24.09.1109:36
bmc desgin
Was ist daran seltsam???)
Naja, man versucht genau das üblicherweise zu vermeiden.

Regel 1 lautet: "Keep Your Nib Files Small"
0
Urkman24.09.1112:41
Ich versuche gar keine nibs mehr zu nutzen...
An Anfang habe ich auch alles in nibs gemacht, mittlerweile nicht mehr
0
MacMark
MacMark24.09.1118: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“
0
ExMacRabbitPro24.09.1119: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.
0
bmc desgin24.09.1122: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...“
0
ExMacRabbitPro24.09.1123: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....
0
bmc desgin27.09.1120: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...“
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.