Custom UITableViewCell mit XIB

Schaute ich mich um und es gibt viele Beispiele, wie dies zu tun, aber ich bin noch nicht bekommen.

Habe ich eine Liste, wo ich bin Auflistung journal-Einträge, die ich anzeigen möchten, ein Titel, ERSTELLUNGSDATUM und einige andere Dinge. Ich will ein XIB-design einer Zelle, so dass UX-designer können es ändern, und pixel schieben.

So, dies ist, wie richte ich die xib:
Custom UITableViewCell mit XIB

Dann machte ich eine Klasse, die diese xib-Zell-Punkte an und ich fügte zwei Eigenschaften zu:

@property (atomic, weak) IBOutlet UILabel* titleLabel;
@property (atomic, weak) IBOutlet UILabel* dateLabel;

Ich möchte in der Lage sein, diese wenn ich diese Zellen.

In die Ansicht mit der Tabelle kann ich dies tun:
In der -(void) viewDidLoad

[self.tableView registerNib:[UINib nibWithNibName:@"DreamListTableViewCell" bundle:nil] forCellReuseIdentifier:@"DreamListCell"];

Und in - (UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath ich dies tun:

static NSString *MyIdentifier = @"DreamListCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier forIndexPath:indexPath];

Das problem ist, dass die app abstürzt, wenn ich ein setup IBOutlets in der Zelle xib, weil ich denke, der Besitzer ist wirklich null, wenn es initialisiert wird, aber ich bin tatsächlich nicht sicher. Wie könnte ich das ändern dieser zwei Eigenschaften, wenn ich keine Verbindung herstellen können Sie im interface builder? Was sollte ich anders machen?

Ich bin auch nicht mit storyboards. Ich bin mit diesem als Leitfaden: Kapitel 21. Tabelle Ansichten und Ansichten-Sammlung

Ich entschuldige mich für die Art von doppelten Frage, ich bin einfach nicht bekommen es. Halp!

Bearbeiten:
Outlet screenshot:
Custom UITableViewCell mit XIB

Edit #2:
Wenn ich entfernen Auslass-verbindungen in der Zelle xib sehe ich diese:
Custom UITableViewCell mit XIB

  • Haben Sie binden Ihre benutzerdefinierte Klasse, die Zelle in der IB? Sie müssen auch festlegen, dass eine benutzerdefinierte Klasse und nicht UITableViewCell im cellForRowAtIndexPath
  • Ich cast 'Zelle' zu meiner benutzerdefinierten Zelle-Klasse später auf, stürzt aber vor, dass code ausgeführt wird. Ich set-Dateien, die Eigentümer-und die root-view in der xib-zu-Punkt um meine benutzerdefinierte Zellen-Klasse 🙁
  • Wo kommt der Absturz genau und was ist die Ausnahme, sagt?
  • Ausnahme: *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<NSObject 0x7fdb02c55cb0> setValue:forUndefinedKey:]: diese Klasse ist nicht die key-value-coding-konform für die Schlüssel titleLabel.'
  • Es stürzt auf die dequeueReusableCellWithIdentifier nennen. Und ich bin mir ziemlich sicher, dass der code innerhalb der if-Anweisung wird nie ausgeführt. Es ist immer eine Zelle.
  • Hinzufügen screenshot zeigt Steckdosen für Ihr Handy in IB
  • Dass der code nie ausgeführt, so ich entfernt es. Es war noch aus einem anderen Versuch. Sorry für die Verwirrung.
  • Jedes mal, wenn ich habe die "nicht-Schlüssel-Wert-Codierung kompatibel" crash, es ist, weil ich habe etwas gelöscht aus dem layout, aber es ist immer noch eine Referenz zu es irgendwo. Überprüfen Sie die file ' s owner für gebrochen Steckdosen (Warndreiecke).
  • Wenn ich entfernen Auslass-Anschlüssen funktioniert es, sobald ich fügen Sie Sie zurück es stürzt erneut ab. Es scheint sehr ähnlich zu sein zu dem, was Sie sagen, das ist, warum ich denke, der Besitzer ist null.
  • Ist der screenshot oben der Auslass-Anschlüssen für File's Owner oder für die DreamListTableViewCell?
  • Aha! Ich würde dich umarmen wenn du hier wärst. Ich File ' s Owner Steckdosen, nicht die DreamListTableViewCell. Das habe ich geändert und jetzt funktioniert es! Dank
  • Meine Antwort kam ein bisschen zu spät, sorry @pbasdf
  • kein problem. Einfach nur froh, dass SpaceBear kam eine Lösung.

InformationsquelleAutor SpaceBear | 2015-01-16
Schreibe einen Kommentar