Тип выражения неоднозначен без дополнительного контекста
Обновлено: 21.11.2024
Проблема в синтаксисе этой строки
Не ответ на этот вопрос, но когда я пришел сюда в поисках ошибки, другие тоже могут посчитать это полезным:
Для меня я получил эту ошибку Swift, когда попытался использовать цикл в массиве без добавления части .
- Я тоже не отвечаю на этот вопрос, но я получил эту ошибку в SWIFT 5, XCode 12, когда передавал CGFloat функции, которая вызывала Objc float. Когда я передал CGFloat float, ошибка исчезла. Не самая описательная ошибка, двусмысленность обычно относится к повторяющимся или одинаковым.
Это происходит, когда у вас есть функция с неправильными именами аргументов.
и вы объявили свою функцию как:
Обычно это происходит, когда вы меняете имя переменной. При этом обязательно выполните рефакторинг.
- Это случилось со мной после слияния / перебазирования, и изменение осталось незамеченным. Осторожно!
- 1 Для меня это проблема возвращаемого типа.
Компилятор не может понять, какого типа сделать словарь, потому что он неоднороден. У вас есть ценности разных типов. Единственный способ обойти это - сделать его , что сделает все чертовски громоздким.
Это работа для структуры. Это значительно упростит работу с этой структурой данных.
Это может произойти, если ЛЮБАЯ часть выделенного вами метода или свойства пытается получить доступ к свойству или методу неправильного типа.
Вот контрольный список устранения неполадок:
Я получил эту ошибку, когда поставил пробел перед запятой в параметрах при вызове функции.
например, я использовал:
Тогда как это должно было быть:
- Похоже на ошибку компилятора, которая, надеюсь, исправлена.
Явное объявление входов для этой функции сопоставления должно помочь:
У вас есть два перед
но похоже, что это всегда не происходит.
Я тестирую этот код на своей игровой площадке, он показывает предупреждение о более конкретных
- вам нужно установить значение по умолчанию, чтобы сделать это init (id: String, name: String? = nil)
В моем случае это произошло с NSFetchedResultsController, и причина заключалась в том, что я определил NSFetchedResultsController для другой модели, чем я создал запрос на инициализацию (RemotePlaylist vs. Playlist):
но инициировал его запросом другого плейлиста:
Для меня это был вывод типа. Я изменил параметры функции с int на float, но не обновлял вызывающий код, и компилятор не предупреждал меня о неправильном типе, переданном в функцию.
Читайте также: