Schalter, der prüft, NSIndexPath Zeilen-und Abschnitt
Ich würde gerne eine switch-Anweisung prüft einen Wert, wenn NSIndexPath
. NSIndexPath
ist eine Klasse, und es besteht(unter anderem) von Abschnitt und Zeile (indexPath.row, indexPath.section
)
dies ist, wie würde ich das formulieren einer if-Anweisung prüfen, ob eine Zeile und eine Sektion zur gleichen Zeit:
if indexPath.section==0 && indexPath.row == 0{
//do work
}
Was ist swift-switch übersetzung dafür?
- Vielleicht hilfreich: stackoverflow.com/questions/30189505/....
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Weg (das funktioniert, weil NSIndexPaths selbst sind gleichsetzbar):
Oder Sie könnten einfach ein test gegen den Ganzzahlen, die Verwendung eines Tupel-Muster:
Ein weiterer trick ist die Verwendung
switch true
und der gleichen Bedingung, die Sie bereits verwenden:Persönlich würde ich verschachtelte
switch
Aussagen, wo wir test gegenindexPath.section
auf der Außenseite undindexPath.row
auf der Innenseite.switch (indexPath.row, indexPath.section) { case(0,0): ...
Verwenden Sie einfach
IndexPath
stattNSIndexPath
die folgenden Schritte aus:Getestet Swift 3 und 4:
Die erste Ganzzahl ist die
section
, die zweite ist dierow
.EDIT:
Mir ist nur aufgefallen, dass diese Methode ist zwar nicht so mächtig wie die Tupel-matching-Methode von matt ' s Antwort.
Wenn Sie es tun, mit einem Tupel, können Sie etwas wie das hier tun:
Sehen https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html für die vollständige Dokumentation der möglichen
switch
Anweisung Verwendungen.