목록swift (108)
HIT해

CaseIterable이란?CaseIterable은 Swift에서 열거형의 모든 케이스를 컬렉션처럼 다룰 수 있게 해주는 프로토콜이다.이 프로토콜을 채택한 열거형은 자동으로 allCases 라는 속성을 가지게 되며, 이를 통해 열거형의 모든 케이스를 배열 형태로 접근할 수 있다. 기본 사용법enum CompassPoint: CaseIterable { case north case south case east case west} 이렇게 하면 CompassPoint.allCases 를 통해 열거형의 모든 케이스에 접근할 수 있다.for direction in CompassPoint.allCases { print(direction)} 배열로 만들기allCases를 활용하여 열거형의 모..

Computed Property란?Computed Property는 클래스, 구조체, 열거형에서 값을 저장하지 않고, 간접적으로 값을 계산하여 반환하는 속성을 뜻한다.Stored Properties와 달리 Computed Properties는 값이 직접 저장되지 않고, 매번 접근할 때마다 특정 연산을 통해 값을 반환한다. 기본 구문Swift에서 Computed Properties는 get 블록과 set 블록(선택사항) 으로 구성된다. struct Rectangle { var width: Double var height: Double var area: Double { get { return width * height } se..

while 반복문이란?while 반복문은 특정 조건이 참일 때 코드 블록에서 반복해서 실행하는 구조다.반복이 계속될지 여부는 반복문이 시작되기 전에 평가되는 조건에 따라 결정되고, 조건이 거짓이 되거나 break 문이 실행되면 반복이 종료된다.기본적인 사용법var count = 0while count 무한루프while true { print("This will print forever")} 이 코드는 true가 항상 참이기 때문애 무한히 실행된다.무한 루프는 break 구문을 사용하여 특정 조건에서 탈출할 수 있다. var count = 0while true { print("Count is \(count)") count += 1 if count == 5 { break ..

Tuple이란?Swit에서 튜플은 다양한 값의 묶음이다.튜플의 구성 요소들은 서로 다른 타입이 가능하며 개수도 사용하고 싶은 만큼 사용할 수 있다.기본 예시import UIKit// (키: 값, 키: 값)var myPet : (name: String, kind: String, age: Int) = (name: "댕댕이", kind: "강아지", age: 1)// 키 명을 생략할 수 있다.var myCat : (String, String, age: Int) = ("개냥이", "고양이", age: 1)myCat.age// 인덱스로 접근myPet.0 키 이름이 생략할 수도 있으며 키 이름이 없다면 인덱스로 접근할 수도 있다.메소드 반환 Tuple// 반환 타입을 튜플로 선언func someFunction() ..

dae 모델링 파일에서 한 모델안에 모든 커스터마이징 노드들을 담고 선택한 노드만 보이게 만들어보자! UIViewRepresentable 프로토콜 함수인 updateUIView 를 통해 특정 노드만 isHidden 키워드로 남겨두자. 예시코드struct ContentView: View { @State var showChic = true var body: some View { VStack{ Text("3D Test") DolView(showChic: $showChic) Button("Show Chic") { // 일단 showChic를 false로 설정하여 상태 변화를..

https://developer.apple.com/documentation/swiftui/uiviewrepresentable UIViewRepresentable | Apple Developer DocumentationA wrapper for a UIKit view that you use to integrate that view into your SwiftUI view hierarchy.developer.apple.com 개발하면서 자주 보이는 이녀석 무엇일까? UIViewRepresentable이란?해당 뷰를 SwiftUI 뷰 계층 구조에 통합하는데 사용하는 UIKit 뷰에 대한 래퍼.즉 SwiftUI와 UIKit를 함께 사용하는 상황에서 다리역할을 하는 프로토콜이다. 예를 들어 SceneKit 의 SC..

패턴 매칭 연산자란?패턴 매칭 연산자 '~='는 왼쪽 피연산잔가 오른쪽 피연산자와 일치하는지 확인하는 역할을 한다.주로 switch 구문에서 케잇 ㅡ패턴과 값을 비교하는 데 사용되며 , Swift가 제공하는 여러 종류의 패턴을 매칭할 수 있다. 기본구문a ~= b 여기서 a는 패턴 b는 매칭하는 값이다.패턴 매칭 연산자는 Bool 값을 반환하며, 패턴이 값과 일치하면 ture, 그렇지 않다면 false를 반환한다. switch 구문에서의 활용switch 구문 속 각 케이스에서는 패턴 매칭 연산자가 자동으로 적용되고 있다.let value = 5switch value {case 0: print("Value is zero")case 1...10: print("Value is between 1 a..

Any란?Any는 모든 타입을 나타내는 Swift의 특별한 타입.Int, String, Array와 같은기본 타입 뿐만 아니라 사용자 정의 타입, 클래스, 구조체, 열거형, 클로저 등모든 타입을 변수나 상수에 담을 수 있다. 사용예시var anyValue: Any = 42anyValue = "Hello"anyValue = [1, 2, 3] 타입이 미리 정해지지 않았을 떄 Any를 사용할 수 있다.Any를 사용하면 콜렉션에서 여러 타입을 다룰 때 즉 배열이나 딕셔너리에서 다양한 타입의 요소를 저장해야할 때 유용하다let mixedArray: [Any] = [1, "Hello", true, 3.14] 주의사항Any로 저장된 값은 구체적인 타입 정보를 잃게 되기에 값을 사용하려면 다운 캐스팅이 필요하다타입 안..