簡體   English   中英

Swift 4.2語法更改-Swift類型推斷發生了什么?

[英]Swift 4.2 Syntax change - What happened to Swift type inference?

我正在使用Swift 4.2運行Xcode 10 beta。 Xcode希望將帶有Swift 4.1代碼的Xcode 9.4.1轉換為Swift 4.2語法。 UIView.animate(... options: ...)的更改全部是UIView.animate(... options: ...)

我使用的選項如.curveEaseIn可以正常工作,但它想將其更改為UIView.AnimationOptions.curveEaseIn

Swift的ENUM類型推斷發生了什么?

在Swift 4.1中是UIViewAnimationOptions.curveEaseIn 因此,遷移者已將您的.curveEaseIn檢測為UIViewAnimationOptions.curveEaseIn並嘗試將其轉換為UIView.AnimationOptions.curveEaseIn

似乎當前的遷移者不喜歡點引導的表示法。

您可以將所有出現的UIView.AnimationOptions.curveEaseIn手動轉換為.curveEaseIn ,並且在適當的情況下可以進行Swift類型推斷。

您可能要編寫一項功能建議,以建議對遷移器進行改進。


(附加)似乎Xcode 10 beta 3已修復此問題,盡管我尚未進行測試。

Xcode 10 beta 3發行說明

AnimationOptions是現在Swift 4.2中UIView下的一個枚舉

您還可以查看此git repo,其中包含語法更改列表。 請隨時為您在項目中遇到的更改做出貢獻。

https://github.com/alexliubj/Swift-Migration-4.2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM