Swift/Swift 기초문법

SwiftUI는 데이터 주도 방식으로 개발하고 게시자/구독자를 구축해서 데이터를 주고 받죵 4가지의 객체로 사용자 인터페이스의 모양과 동작을 결정하는 상태를 제공하는데 여개서 4가지가 @State, @Binding, @environmnet, @Observable 이렇게 있습니다. 그중에서 오늘은 묵혀놓았던 @State, @Binding에 대해 빠르고 간단하게 정리해볼게요. @Obersvable이랑 @Environmnet는 다음 게시물로... !! 1. @state ( = 상태 프로퍼티) 값의 변화를 감지해서 값이 변하면 뷰를 다시 그려주는 프로터티 입니당(뷰에 적용시켜줌) 상태프로퍼티는 상태에 대한 가장 기본적인 형태이며, 현태 뷰의 상태를 저장하기 위해서만 사용해요! 토글 버튼 활성화 유무 텍스트 필드..
제네릭 특정 형식과 연관되지 않은 함수를 구현하는 방법 func name(parameters) -> Type { code } : 타입 파라미터, 함수 내부터에 타입 파라미터나 리턴형으로 활용됨 (다른 이름을 사용해도 됨) 형식에 관계없이 모든 값을 파라미터로 전달할 수 있음 // Generics func swapValue(left: inout T, right: inout T) { let tmp = left left = right right = tmp } var a = 1 var b = 10 swapValue(left: &a, right: &b) print(a, b) // 10, 1 var c = 4.5 var d = 6.8 swapValue(left: &c, right: &d) 제네릭에 제한주기 제네릭 ..
이미 알고 이 페이지를 보는 것이겠지만.. 우리가 지금까지 변수! 상수!라고 생각하면서 사용했던 것들이 실은 프로퍼티랍니다. (프로퍼티랑 속성이랑 같은 말임) 속성에는 저장속성, 계산속성, 지연저장속성… 이 있음 슉슉 정리해봅시다!! 저장속성 (클래스, 구조체에서 선언 가능) 클래스나 구조체에서 인스턴스가 가지는 공간으로 쉽게 우리가 지금까지 변수/상수로 선언했던 인스턴스에요. 인스턴스 초기화시 각 저장속성은 값을 가져야 하는건 다들 아시져? 지금 여서 resultCount랑 results 가 저장속성이라는 말을 하고 있는겁니다. 지연저장속성 초기화를 지연하는 것인데... 이게 무슨 말이야 싶으시죠 대충 일반 인스턴스가 최기화 된후에 나중에 개별적으로 초기화 된다고 생각하면 될듯..해요 저는 이렇게 이해..
Closure Closure는 Unnamed function, 이름이 없는 함수에요. 함수와 마찬가지로 1급 시민이지만, 함수와 다르게 argument label 사용 하지 않아요. Syntax! { (parameters) -> Return Type in statements } // 함수와 동일하게 파라미터와 리턴 타입 생략 가능 { statements } // 위와 동일한 closure 클로저는 global scope에서 단독으로 사용 불가, 상수나 변수에 저장하여 사용해야해요. 아무래도 이름이 없는 함수니까 냅다 클로저만은 사용할 수 없겠죵 ? 이렇게 저장해서 사용해야합니다. (당연히 매개변수로 넣을 수 있음) let c = { (str : String) -> String in return "Hell..
옵셔널 정리 거의 다 왔어요! 좀만 더 힘내서 해봅시당 본 글은 인프런의 iOS 개발을 위한 swift% 완번 가이드를 기반으로 정리한 글임을 참고 부탁드려요!! 그럼 Optional Chaining이란 무엇일까요?? 옵셔널을 연달아서 호출하는 것을 의미해요. 여기서는 두 가지만 기억하시면 돼요! 첫번째, 옵셔널 체이닝의 결과는 옵셔널이다. 두번째, optional chaining에 포함된 표현식 중에서 하나라도 nil을 return한다면, 이어지는 표현식을 평가하지 않고 nil을 return 한다. 첫 번째부터 확인해봅시당 struct Contacts { var email: [String: String] var address: String } struct Person { var name: String ..
오늘은 저번 Optional에 이어서 Optional Binding에 대해서 정리해볼거에요. 저번에는 Forced, 강제 추출까지만 정리했으니까 이번에는 안전한 바인딩을 알아봅시당 if, while, guard문을 사용해서 안전하게 옵셔널 바인딩을 할 수 있어요! if, while, guard문의 기본 Syntax부터 확인해보고 갈게요! if let name: Type = OptionalExpression { statements } while let name: Type = OptionalExpression { statements } guard let name: Type = OptionalExpression else { statements } 원래 let name: Type = OptionalExpress..
서연(linda)
'Swift/Swift 기초문법' 카테고리의 글 목록 (2 Page)