Невозможно преобразовать значение типа 'SKTexture' в ожидаемый тип аргумента 'Int';Ошибка при использовании textureNamed ("...") - PullRequest
1 голос
/ 28 октября 2019

Я следую учебному пособию для iOS-приложения. Но была проблема с версией, так как учебник был сделан с Xcode 8 и swift 3. Я использую Xcode 11 и последнюю версию swift. В любом случае, мне удалось решить все проблемы, с которыми я столкнулся, все принимают это:

        //setup sprites for animation
        _Sprites.append(_Atlas.textureNamed("text"))
        _Sprites.append(_Atlas.textureNamed("text"))
        _Sprites.append(_Atlas.textureNamed("text"))
        _Sprites.append(_Atlas.textureNamed("text"))
        ...

после этих строк кода все они имеют одинаковую ошибку: Невозможно преобразовать значениевведите 'SKTexture' к ожидаемому типу аргумента 'Int'

Я не знаю почему, потому что он явно хочет строку (для имени спрайта), а также, когда я пытаюсь это:

        _Sprites.append(_Atlas.textureNamed(Int("text")))
        ...

Это дает мне эту ошибку: Невозможно преобразовать значение типа 'Int?'к ожидаемому типу аргумента 'String'
Кто-нибудь знает, почему у меня возникла эта проблема?

1 Ответ

2 голосов
/ 28 октября 2019

Похоже, _Sprites имеет тип [Int], а не [SKTexture]. Вы пытаетесь добавить SKTexture s, и, как показывает ошибка:

Невозможно преобразовать значение типа 'SKTexture' в ожидаемый тип аргумента 'Int'

Значениечто Свифт может видеть, что вы пытаетесь установить SKTexture там, где он ожидает Int.


Измените ваш код следующим образом (ваш может немного отличаться):

_Sprites = [Int]()

до:

_Sprites = [SKTexture]()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...