Получение ошибок компилятора Swift

Я создал приложение в Xcode 6.2, и оно работало нормально, но когда я перенес его Xcode 6.3 в другую систему, я получил много ошибок компилятора Swift.

Большинство из них похожи на "AnyObject is not convertible to NSArray", "AnyObject is not convertible to NSNumber"

Извините, я не мог загрузить ни одно изображение.


person Matt    schedule 18.04.2015    source источник
comment
Xcode 6.3 использует версию Swift 1.2, и есть некоторые языковые изменения, единственный способ пройти через это вернуться к Xcode 6.2 или исправить свой код для компиляции с 1.2   -  person tkanzakic    schedule 18.04.2015
comment
@tkanzakic это единственный вариант? каждый раз, когда я перемещаю свой код, я должен их редактировать?   -  person Matt    schedule 18.04.2015
comment
Swift 1.1 и 1.2 практически несовместимы (например, as против as!). Большинство изменений задокументировано в примечаниях к выпуску Xcode 6.3. В Xcode есть опция «Преобразовать в последнюю версию синтаксиса Swift», но вы больше не можете скомпилировать ее с помощью Xcode 6.2.   -  person Martin R    schedule 18.04.2015
comment
Сравните stackoverflow.com/questions/ 29568309/xcode-6-3-and-swift-1-1.   -  person Martin R    schedule 18.04.2015
comment
@Matt: Вам нужно преобразовать единственный раз, когда вы переходите со Swift 1.1 на Swift 1.2. Ты никогда не вернешься.   -  person gnasher729    schedule 18.04.2015


Ответы (2)


Я настоятельно рекомендую прочитать примечания к выпуску. чтобы получить приблизительное представление о том, что было/не было изменено.

Есть несколько основных синтаксических модификаций и несколько ухудшений, которые вам придется вручную исправить в своем коде.

person Vatsal Manot    schedule 18.04.2015
comment
Я думаю, что это совершенно прекрасный ответ. Это совет, который не только решит насущную проблему автора, но и решит больше проблем, которые у него возникнут, и это то, что можно применить ко многим другим проблемам, которые возникнут у него в будущем. - person gnasher729; 18.04.2015
comment
Важной частью ответа была не ссылка. Это был совет прочитать примечания к выпуску, которые относятся к любым примечаниям к выпуску любого программного обеспечения, которое вы когда-либо использовали. Ответ остается в силе для людей, которые обновляются с Xcode 6.3 до Xcode 7.0. - person gnasher729; 20.04.2015

Для проблемы anyObjects я могу вам помочь. Вы можете заменить любые объекты на «первые», поэтому нет никакой разницы. Так же много изменений, лайков, когда надо поставить как, надо еще и поставить ! (как!) вроде «имя как! SKNode()». Вы можете взглянуть на узлы выпуска для получения дополнительной информации.

person Tu madre    schedule 21.07.2015