Невозможно присвоить значение типа IndexPath типу Int. - PullRequest
0 голосов
/ 19 января 2019

Интересно, как объявить переменную типа IndexPath. Также будет очень полезно, если кто-нибудь покажет мне, как использовать встроенное условное выражение для этого.

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)
}

Ответы [ 3 ]

0 голосов
/ 19 января 2019

Просто измените строку:

var indexPath = 0

на:

let indexPath: IndexPath

или замените все это на:

let indexPath = IndexPath(item: sender.tag + (PlaylistController.shared.playlists.count == 1 ? 1 : -1), section: 0)
0 голосов
/ 19 января 2019

Просто укажите тип вашей переменной как IndexPath, так как это тип, который вам нужно сохранить (вы не хотите сохранять число)

var indexPath: IndexPath
0 голосов
/ 19 января 2019
let indexPath : IndexPath = 
    PlaylistController.shared.playlists.count == 1 ?
        IndexPath(item: sender.tag+1, section: 0) :
        IndexPath(item: sender.tag-1, section: 0)

Или, я думаю, яснее:

let item = PlaylistController.shared.playlists.count == 1 ? sender.tag+1 :sender.tag-1
let indexPath = IndexPath(item:item, section:0)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...