목록swift (108)
HIT해
.some과 .none이란?Optional 타입의 두 가지 가능한 상태를 나타내는 값이다. Optional 타입에만 사용되며 값이 존재할 수도 있고 존재하지 않을 수도 있는 상황을 다루기 위해 사용된다. Optional 타입some : 값이 존재하는 경우none : 값이 존재하지 않는 경우 일반적인 사용보통 언래핑을 할때 some과 none 을 사용하기보단 if let 또는 guard let 을 사용한다.func greet(name: String?) { if let unwrappedName = name { print("Hello, \(unwrappedName)!") } else { print("Hello, stranger!") }}greet(name: "Alic..

https://github.com/Alamofire/Alamofire GitHub - Alamofire/Alamofire: Elegant HTTP Networking in SwiftElegant HTTP Networking in Swift. Contribute to Alamofire/Alamofire development by creating an account on GitHub.github.com Alamofire란?Swift로 작성된 HTTP 네트워킹 라이브러리특징간편한 요청 및 응답 처리가 가능하다ios13 이상에서 작동URL / JSON 매개변수 인코딩HTTP 응답 검증네트워크 상태관리 용이URLSession 기반인데 굳이 왜?⇒ 어려운 네트워킹 작업을 감춰주어 주요 로직에 집중할 수 있게 해준다..

기존에 구현한 코드를 보자 makeUIViewstruct DolView : UIViewRepresentable { @Binding var selectedFace : Face // UI가 만들어질때 생성 func makeUIView(context: Context) -> SCNView { let scnView = SCNView() scnView.scene = loadScene() scnView.backgroundColor = UIColor.clear // SCNView의 배경을 투명하게 설정 scnView.allowsCameraControl = true return scnView } update..
allSatisfy란?Swift의 컬렉션 타입에서 제공하는 메서드로, 컬렉션의 모든 요소가 주어진 조건을 만족하는지 검사하는 데 사용된다.이 메서드는 Sequence 프로토콜에 정의되어 있으며, 배열, 집합, 문자열 등의 컬렉션 타입에서 사용할 수 있다. 기본 사용법let numbers = [2, 4, 6, 8, 10]let allEven = numbers.allSatisfy { $0 % 2 == 0 }print(allEven) // 출력: true 위 코드에서 numvers 배열의 모든 요소가 짝수인지 확인한다.배열의 모든 요소가 짝수이므로 true가 출력된다. 문자열에서의 사용let string = "hello"let allLowercase = string.allSatisfy { $0.isLower..

이전 updateUIView 가 실행이 안돼요 - 2 의 마지막 영상을 보면 특정 노드만 남기지만 밝기도 같이 줄어드는 것을 볼 수 있다. 이는 따로 설정해둔 환경조명, 방향성 조명 노드도 같이 지워지기 때문이다. 환경조명과 방향성 조명 노드를 남기려면 아래 두가지 설정이 필요하다. 조명노드들 name 설정조건문에서 조명노드들 isHidden 제외 조건 추가 작성해보자 1. 노드 name 설정func makeCamera() -> SCNNode { let cameraNode = SCNNode() cameraNode.camera = SCNCamera() ... cameraNode.name = "camera" ret..

defer란?Swift에서 defer문은 특정 코드 블록이 종료될 때 실행되도록 보장하는 데 사용된다.이는 주로 리소스를 정리하거나 상태를 복구하는 등의 작업을 처리하는 데 유용하다.defer 블록은 해당 스코프의 마지막에 실행되며 함수 또는 메서드가 종료될 때 호출된다. defer 기본 개념defer는 코드의 특정 부분이 실행되기 전에 defer 블록 안의 코드가 실행되도록 보장한다.이를 통해 함수가 정상적으로 종료되거나 오류가 발생하여 조기 종료될 때도 defer 블록의 코드가 실행된다. 기본 사용법func exampleFunction() { print("Start") defer { print("This will be printed last") } pr..

case let 옵셔널 패턴이란?Swift 에서는 옵셔널 타입을 안전하게 처리하기 위한 여러가지 방법을 제공하는데 그중 하나가 case let 을 사용하는 옵셔널 패턴이다.이 패턴은 switch 문이나 if case 구문에서 옵셔널 값의 추출과 조건을 한번에 처리할 수 있게 해준다. 기본 개념case let 옵셔널 패턴은 옵셔널 값이 nil 인지 아닌지 확인하고, 만약 nil이 아니라면 그 값을 추출하여 사용할 수 있도록 한다.이를 통해 옵셔널 바인딩과 비슷한 기능을 수행할 수 있다. switch 구문에서의 사용let someValue: Int? = 42switch someValue {case let value?: print("The value is \(value)")case nil: prin..

값을 동반한 enumSwift에서 열거형은 각 케이스에 단순한 이름만을 할당하는 것이 아니라, 각 케이스가 값을 가질 수 있는 기능도 제공한다.이 값은 "연관값" 이라고 부르며 각 케이스와 함께 저장되고 다룰 수 있다. 연관값을 가진 enum의 기본 개념연관값을 가진 enum은 특정 케이스가 하나 이상의 추가 데이터를 가질 수 있게 한다.예를 들어 enum을 사용하여 다양한 형태의 데이터를 표현할 때 연관값을 사용할 수 있다.enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String)}upc 케이스는 4개의 Int 값을 연관값으로 가진다qrCode 케이스는 하나의 String 값을 연관값으로 가진다. 열거형 케이스 생성 연관값을 가진 열거형..