2016-08-11 10 views
1

Ich frage mich, ob es OK ist, mehrere Elemente mit dem gleichen IBOutlet zu verbinden? In meiner TableView habe ich zwei Zellen eingerichtet und ihnen eine eindeutige Kennung gegeben.Swift ios verbinden mehrere Elemente mit dem gleichen IBOutlet

Aber ich habe das Etikett in jeder Zelle mit dem gleichen IBOutlet in meiner benutzerdefinierten UITableViewCell-Klasse verbunden.

enter image description here

class SearchSubCatTableViewCell: UITableViewCell { 


    @IBOutlet weak var subCatTitle: UILabel! 

Also ich habe zwei Etiketten verbunden @IBOutlet weak var subCatTitle: UILabel!

Das alles funktioniert gut, wenn ich die app mich entschieden, aber es kann Probleme verursachen?

Antwort

3

Ja, das ist in Ordnung solange Sie nicht planen auf irgendwelche Operationen auf diesen Etiketten zu tun.

Der richtige Weg, es zu tun, ist durch eine Reihe IBOutlet erstellen:

  • Schließen Sie alle Ihre Etiketten diese Etiketten Array Auslass

    @IBOutlet var collectionOfLabels:[UILabel]? 
    
    .

  • Dann greifen Sie über das Array auf die Etiketten zu.

+0

Was meinen Sie mit Operationen? Das einzige, was ich jetzt mache, ist einen Titel zu setzen – user2636197

+0

Wenn Sie den Titel einmal am Interface Builder dann gut, aber wenn Sie es später programmgesteuert ändern müssen, dann würde das ein Problem [email protected] user2636197 –

+0

Würde die App abstürzen? Im Moment hat eine Zelle ein statisches Label und die zweite Zelle hat ein dynamisches Label von JSON data – user2636197

0

Sie problem.i nicht konfrontiert werden elbe viele times.while Zelle getan haben, zu schaffen jede Eigenschaft hat seine eigene value.so Ich denke, man nicht anyproblem

0

Nein, wird das Gesicht wird es nicht Probleme verursachen.

Ich habe ein ähnliches Setup in meiner App verwendet und es wurde in den App Store aufgenommen.

0

Dies kann ein Problem verursachen, wenn Sie data.I Sie würde vorschlagen, einige Operationen auf dem Etikett Text auszuführen versuchen, einen Blick auf IBOutlet Collections haben .Sie here nettes Tutorial finden.

0

Sie können mehrere Ansichten/Beschriftungen/etc mit einem @IBOutlet verbinden, während sie von verschiedenen Eltern stammen.

Egzample. Sie haben eine Klasse HeaderView mit Label und Imageview, aber Sie haben 3 getrennt xib Dateien, die HeaderView enthält (können für drei Arten von Geräten (iPhone sagen, iPhone 6Plus und iPads) Sie setzen Klasse von dieser Ansichten als HeaderView und Verbindungs ​​@IOBoutlets einem Link

wenn Sie @IBOutlet Sammlung Sie definieren die Steckdose als Array vom Typ erstellen möchten. zum Beispiel:. @IBOutlet private var labels: [UILabel]!

0

Sie kein Problem konfrontiert sein wird, wenn Sie mehrere verbinden Wenn Sie versuchen, Funktionen auszuführen, sind möglicherweise einige Probleme aufgetreten diese Tasten. Ich würde Ihnen empfehlen, sich die Verwendung von Tags anzusehen, wenn Sie Funktionen auf diesen Schaltflächen ausführen möchten.

Verwandte Themen