programing

Xcode 10 - 이미지 리터럴을 더 이상 사용할 수 없습니다.

telebox 2023. 6. 1. 22:41
반응형

Xcode 10 - 이미지 리터럴을 더 이상 사용할 수 없습니다.

Xcode 10 릴리스 노트: "Swift 이미지 리터럴에 대한 코드 완성이 Xcode 10에서 제거되었습니다."

따라서 코드에 이미지를 추가할 수 없는 버그가 아닙니다(이전 프로젝트도 실행할 수 있습니다).그러면 이제부터 입력하는 것만으로 코드에 이미지를 추가하는 방법은 무엇입니까?UIImageView(image:PNG 또는 JPEG를 허용하지 않습니다.

let cellImage: UIImageView = {
    let image = UIImageView(image: ???))

    return image
}()

시스템: macOS Mojave
Xcode: Xcode 10 베타 4

Xcode 10 Swift 4.2에서는 Xcode IDE의 코드 완료 기능(또는 자동 완성)만 기존 방식으로 중단되었습니다.새로운 방법은 다음과 같습니다.

그냥 입력image literal기본 아이콘으로 완료됩니다.

여기에 이미지 설명 입력

 

이 아이콘을 두 번 클릭하면 미디어 라이브러리가 오른쪽에 열립니다.

여기에 이미지 설명 입력

 

이미지를 선택하기만 하면 이전과 같이 작동합니다.

여기에 이미지 설명 입력

미디어 라이브러리 탭을 여는 바로 가기 찾기:

++M

현재 공식 설명서에는 Xcode 10 베타의 일부 사용 사례가 포함되어 있지 않기 때문에 미디어 파트를 이전 위치로 이동할 수 있는 방법을 찾을 수 없습니다.

Xcode의 Media Library를 사용하여 코드에 이미지 리터럴을 추가할 수 있습니다.

XCode 미디어 라이브러리 표시

그런 다음 라이브러리에서 이미지를 선택하고 코드로 끌어다 놓습니다.

라이브러리에서 이미지 선택

이미지 리터럴을 만듭니다.

Swift Image Literals를 사용하는 레거시 코드를 가진 다른 사람들의 이익을 위해, 이미지 리터럴 기능 자체의 코드와 구문은 여전히 유효하며 Swift 4.2가 설치된 Xcode 10에서 완벽하게 작동합니다.

이러한 이미지 리터럴을 사용하는 기존 코드를 롤백하거나 리팩터링할 필요가 없으며 다음과 같이 사용할 수 있습니다.

imageView.image = #imageLiteral(resourceName: imageNameString)

Xcode IDE의 코드 완료 기능(또는 자동 완성)만 중단되었습니다.


갱신하다

이전 버전과 현재 버전 또는 Xcode/Swift에서 이미지 리터럴 표현의 차이:

image = #imageLiteral(resourceName: "flower.jpg")

image = #imageLiteral(resourceName: "flower.jpg")

발췌문에서 알 수 있듯이, 이미지 리터럴은 실제 이미지의 미리 보기와 함께 선형으로 표현되었습니다.그러나 이제 일반 아이콘만 대신 사용됩니다.아마도 이것은 인라인 썸네일을 처리하고 표시하는 오버헤드를 제거함으로써 IDE의 부담을 줄이는 데 도움이 될 것입니다.

팁: 코드에 리터럴 이미지를 추가한 후 세 가지 해상도를 수정합니다.
다른 이미지를 제거하고 하나의 이미지만 유지
이미지로 다음과.#imageLiteral(resourceName: "image@2x.png"
resourceName 값, 거@2x 확장자: 파확장명들, 어를예일.png: 이지이름유지:#imageLiteral(resourceName: "image")
이미지가 코드로 표시됩니다.

Xcode 11에서 미디어 라이브러리는 이제 View > Show Library (SHIFT+CMD+L) 아래에 있습니다.

Xcode 11을 사용하는 사용자가 있다면 아래 옵션을 사용하여 모든 미디어를 찾을 수 있습니다.

여기에 이미지 설명 입력

여기에 이미지 설명 입력

사용.

UIImage(imageLiteralResourceName: 'imageName')

옵션을 반환하지 않고 정상적으로 작동합니다.

#imageLiteral을 사용하기만 하면 됩니다.

당신은 이 코드를 Xcode 14.1에서 사용할 수 있습니다.

"UIimageVievName".image= #imageLiteral(resourceName: "imageName")

그런 다음 사진 아이콘을 클릭하고 이미지를 추가할 항목을 선택할 수 있습니다.

command+shift+L을 입력하기만 하면 이미지 추가 옵션이 제공됩니다.

저는 Xcode 10 베타 4를 사용하고 있으며 같은 문제가 있습니다! 이미지를 전달하는 기존 방법을 사용하여 해결되었습니다.

PizzaModel(
            nome: "Marinara",
            ingredienti: "Pomodoro, Aglio",
            calorie: "729",
            img: UIImage(named: "marinara")!
)

언급URL : https://stackoverflow.com/questions/51397347/xcode-10-image-literals-no-longer-available

반응형