SWiFT45 Swift) KVO(Key-Value-Observing) KVO? (옵셔널 아님ㅋ) 다른 객체의 프로퍼티 변경사항을 객체에 알리기 위한 코코아 프로그래밍 패턴이다. NSObject를 상속받아야 사용할 수 있기때문에 상속이 되는 Class에서만 사용이 가능하다. observer와 observed는 일대일 관계, 일대다 관계가 가능하다. 모델과 뷰같은 논리적으로 분리된 관계간에 변경사항을 전달할 때 유용하다. Objective-C 런타임에 의존하는 방식이다. 그래서 clean swift 코드엔 지양한다. 타입 정의 밖에 observer를 추가하는 것 뺴곤 property observer(willSet, didSet)과 비슷하다. class Address: NSObject { var town: String { willSet { print(newValue) } did.. 2022. 2. 12. Swift) return에 대한 의문 의문점 여지껏 함수내부에 return이 어느 위치에 있든 쓰기만 하면 함수를 탈출하는 흐름제어구문(Control Transfer Statements)인줄 알았다. 흐름제어구문(Control Transfer Statements)은 맞다. 근데 공식문서를 확인해보니 이렇게 써있더라 When a return statement isn’t followed by an expression, it can be used only to return from a function or method that doesn’t return a value (that is, when the return type of the function or method is Void or ()). 그냥.. 반환할 것이 없는 함수엔 return만을 .. 2022. 2. 12. Swift) Switch vs If else 🍎 switch란? switch는 들어오는 수(value to consider)를 보고 조건이 True인 case로 진입(점프)한다. 다른 언어같은 경우엔 각 case마다 break를 걸어 탈출하지 않는다면, 이후의 case까지 진입하지만, Swift에서의 switch는 fallthrough를 기본적으로 지원하지 않으므로, case마다 break를 걸어줄 필요가 없다. switch statements in Swift don’t fall through the bottom of each case and into the next one by default https://docs.swift.org/swift-book/LanguageGuide/ControlFlow.html#ID130 대신 fallthrough 되.. 2022. 2. 12. Swift) Optional Binding 📌 Optional Binding 변수에 값이 저장될지 아닐지를 확실할 수 없을 떄 Optional을 사용한다. Optional Binding은 Optional 타입의 변수값을 꺼내오는 방법중 하나이다. 🐶 guard guard를 사용한 옵셔널 바인딩을 알아보기전 guard부터 알아보겠다. guard 뒤에 따라붙는 코드의 실행 결과가 True일 때 guard문 밑의 코드가 실행된다. False라면 else블록 내부 코드만 실행된다. 이 내부 코드에는 자신보다 상위의 코드블록을 종료하는 코드가 반드시 들어가야한다. Ex) return, break, continue, throw 🐱 guard let guard let은 예외사항을 처리할 때 주로 쓰인다. 옵셔널을 벗겼을 때 값이 nil이면 더이상 코드를 실행.. 2022. 2. 10. [Swift] 컬렉션 타입 (Dict) 사정이 생겨서 그동안 공부를 못했다. 한번 더 훑어봐야겠다. 2021.06.05 - [Dev/Swift] - [Swift] 컬렉션 타입 (Set) [Swift] 컬렉션 타입 (Set) 전에 배열을 정리해봤다 2021.06.03 - [Dev/Swift] - [Swift] 컬렉션 타입 (Array) [Swift] 컬렉션 타입 (Array) Swift는 Array, Dictionary, Set 세가지의 컬렉션 타입을 지원한다. 오늘은 그 중 배열 배열 (Arr.. limjs-dev.tistory.com 오늘은 Dictionary Dictionary Dict는 Key와 Value 한쌍을 데이터로 저장하는 창고?이다. Set와 같이 Dict에는 순서가 없다. 각 Value는 해당 Value의 식별자 역할을 하는 .. 2021. 8. 2. [Swift] 컬렉션 타입 (Set) 전에 배열을 정리해봤다 2021.06.03 - [Dev/Swift] - [Swift] 컬렉션 타입 (Array) [Swift] 컬렉션 타입 (Array) Swift는 Array, Dictionary, Set 세가지의 컬렉션 타입을 지원한다. 오늘은 그 중 배열 배열 (Array) 배열(Array)은 같은 타입의 데이터를 일렬로 나열한 후 순서대로 저장하는 형태의 컬렉션 타입이다. 배열 limjs-dev.tistory.com 오늘은 Set Set 세트는 같은 타입의 데이터를 순서없어 하나의 묶음으로 저장하는 형태의 컬렉션 타입이다. 세트 내의 값은 모두 유일한 값, 즉 중복된 값이 존재하지 않는다. 그래서 세트는 보통 순서가 중요하지 않거나, 각 요소가 유일한 값이어야 하는 경우 사용한다. 또 세트의 요소.. 2021. 6. 5. 이전 1 ··· 4 5 6 7 8 다음