Ich frage mich, wie man eine Variable vom Typ IndexPath deklariert. Es ist auch sehr hilfreich, wenn mir jemand zeigen kann, wie man Inline-Bedingungen dafür verwendet.

var indexPath = 0
if  PlaylistController.shared.playlists.count == 1 {
    indexPath = IndexPath(item: sender.tag +1, section: 0)
}
else {
    indexPath = IndexPath(item: sender.tag -1, section: 0)
}
0
user10849511 19 Jän. 2019 im 00:51

3 Antworten

Beste Antwort

Ändern Sie einfach die Zeile:

var indexPath = 0

Zu:

let indexPath: IndexPath

Oder ersetzen Sie das Ganze durch:

let indexPath = IndexPath(item: sender.tag + (PlaylistController.shared.playlists.count == 1 ? 1 : -1), section: 0)
1
rmaddy 18 Jän. 2019 im 21:53
let indexPath : IndexPath = 
    PlaylistController.shared.playlists.count == 1 ?
        IndexPath(item: sender.tag+1, section: 0) :
        IndexPath(item: sender.tag-1, section: 0)

Oder klarer denke ich:

let item = PlaylistController.shared.playlists.count == 1 ? sender.tag+1 :sender.tag-1
let indexPath = IndexPath(item:item, section:0)
1
matt 18 Jän. 2019 im 21:53

Geben Sie einfach den Typ Ihrer Variablen als IndexPath an, da dies der Typ ist, den Sie speichern müssen (Sie möchten keine Nummer speichern).

var indexPath: IndexPath
1
Robert Dresler 18 Jän. 2019 im 21:54