[英]Xcode 10 - image literals no longer available
Xcode 10 發行說明:“Xcode 10 中刪除了 Swift 圖像文字的代碼完成”
因此,我無法在代碼中添加圖像(並運行舊項目)並不是一個錯誤。 從現在開始,我們如何在代碼中添加圖像,只需鍵入UIImageView(image:
不接受任何 png 或 jpeg。
let cellImage: UIImageView = {
let image = UIImageView(image: ???))
return image
}()
系統:macOS Mojave
Xcode:Xcode 10 Beta 4
找到打開媒體庫選項卡的快捷方式:
⇧ + ⌘ + M
在這一點上,官方文檔沒有涵蓋 Xcode 10 beta 的一些用例,所以我無法找到將媒體部分移動到舊位置的方法。
為了其他使用Swift Image Literals 的遺留代碼的人的利益,圖像文字函數本身的代碼和語法仍然有效,並且在 Swift 4.2 的 Xcode 10 中工作得非常好。
不需要回滾或重構使用這些圖像文字的現有代碼,它們仍然可以按如下方式使用:
imageView.image = #imageLiteral(resourceName: imageNameString)
只有 Xcode IDE 的代碼完成功能(或自動完成)已停止使用。
更新
先前和當前版本或 Xcode/Swift 中圖像文字表示的差異:
image = #imageLiteral(resourceName: "flower.jpg")
正如摘錄所示,圖像文字與其實際圖像的縮略圖一起表示。 但是,現在,僅在其位置使用通用圖標。 據推測,通過消除處理和顯示內嵌縮略圖的開銷,這有助於減輕 IDE 的負擔。
提示:在代碼中添加文字圖像后修復三個分辨率。
1.刪除另一個,只保留一個圖像
2. 用文字圖像注釋您的行代碼,然后代碼中會出現文字圖像,如: #imageLiteral(resourceName: "image@2x.png"
3. 在resourceName
值中,刪除@2x
和文件擴展名,如.png
,只保留圖像名稱: #imageLiteral(resourceName: "image")
4. 取消注釋! 圖像將顯示在代碼中。
在 Xcode 11 中,媒體庫現在位於 View > Show Library (SHIFT+CMD+L) 下。
我正在使用 Xcode 10 beta 4,我遇到了同樣的問題! 解決使用舊方式傳遞圖像
PizzaModel(
nome: "Marinara",
ingredienti: "Pomodoro, Aglio",
calorie: "729",
img: UIImage(named: "marinara")!
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.