Problem mit einer CheckBox in einem Viewbased NSTableView

8

Ich habe ein NSDictionary, das alle Daten enthält:

  • Ein Titel (nicht wichtig für diese Frage)
  • Ein Link (nicht wichtig für diese Frage)
  • Ein Array von NSDictionary, das wiederum 1 Titel und 1 Link enthält

Ich zeige diese Daten in einer ansichtsbasierten Tabellenansicht wie folgt an:

%Vor%

Ich möchte 2 Spalten in diesem tableView , einen zum Anzeigen des Titels und einen mit einem Kontrollkästchen, der etwas tun würde, um mich wissen zu lassen, welche Zeile geprüft wird.

%Vor%

Gerade jetzt, wenn ich es starte und auf das Kontrollkästchen klicke, tut es nichts (Natürlich, weil ich nicht weiß, wie ich etwas machen kann. Wo sollte ich den Code eintragen, der etwas tun soll?

Das Hauptziel ist eine editierbare Liste von Downloads, jetzt wird die Liste angezeigt, mit dem Kontrollkästchen neben dem Titel in jeder Zeile. Ich würde gerne wissen, welche CheckBox überprüft werden und welche nicht.

Ich habe es versucht:

%Vor%

Aber ich kann nicht herausfinden, wie man die Zeile dieses Buttons bekommt, um zu wissen, welcher Titel mit diesem CheckBox verknüpft ist.

Ich habe auch die Methode setObjectValue von tableView ohne Erfolg versucht.

So wie ich es gerne hätte:

Ich habe eine Schaltfläche "Start downloading", die prüft, ob jedes Kontrollkästchen aktiviert ist oder nicht, und die nächste Aktion (Herunterladen) nur mit der aktivierten Zeile starten.

Ich möchte Bindings vermeiden, weil ich vorhabe, es auch auf iOS funktionieren zu lassen, und ich möchte keinen anderen Code für iOS haben.

    
ItsASecret 27.06.2012, 22:19
quelle

2 Antworten

1

Sie könnten versuchen, die Schaltfläche 'tag-Eigenschaft' für jede Taste zu verwenden, die Sie als Nummer (Ort) in der Tabellenansicht platzieren. Schau hier!!!

Ermitteln, welche UIButton in einer UITableView gedrückt wurde

[EDIT1]

Wenn sich die Leute tatsächlich dazu entschließen würden, den verlinkten Beitrag zu lesen, würden Sie feststellen, dass die Antwort tatsächlich da ist.

Fügen Sie Folgendes hinzu:

%Vor%

innerhalb der else Ihrer viewForTableColumn-Routine:

In Ihrer CheckBoxAction-Routine:

%Vor%

Ich denke auch, dass Sie, sobald Sie anfangen, sich weiter in Ihren Code zu vertiefen, die automatische Ausreißfunktion der TableViewCell-Objekte verwenden wollen. Ich glaube, dass Sie sich in einem Speicherallok / Dealloc-Problem finden werden.

    
trumpetlicks 27.06.2012, 22:27
quelle
3

Sie können die NSTableView Methode -rowForView: verwenden, um die Zeile zu erhalten, in der sich eine bestimmte Ansicht befindet.

In Ihrem Fall hätten Sie so etwas:

%Vor%

Hier sind die Dokumente für NSTableView : Ссылка

    
sam 25.03.2013 00:15
quelle