iOS

iOS/Swift 기초

[ Swift 기초 ] assert / guard

안녕하세요 공공돌🧸 입니다. assert와 guard 에 대해 정리 해봤습니다. 1. assert / guard 애플리케이션이 동작 도중에 생성하는 다양한 연산 결과값을 동적으로 확인하고 안전하게 처리할 수 있도록 확인하고 빠르게 처리할 수 있습니다. 1. Assertion assert(_:_:file:line:) 함수를 사용합니다. assert 함수는 디버깅 모드에서만 동작합니다. 배포하는 애플리케이션에서는 제외됩니다. 예상했던 조건의 검증을 위하여 사용합니다. var someInt: Int = 0 // 검증 조건과 실패시 나타날 문구를 작성해 줍니다 // 검증 조건에 부합하므로 지나갑니다 assert(someInt == 0, "someInt != 0") someInt = 1 //assert(someI..

iOS/Swift 기초

[ Swift 기초 ] 타입 캐스팅

안녕하세요 공공돌🧸 입니다. 타입 캐스팅에 대해 정리 해봤습니다. 1. 타입 캐스팅 1. 스위프트 타입 캐스팅 인스턴스의 타입을 확인 하는 용도 클래스의 인스턴스를 부모 혹은 자식 클래스의 타입으로 사용할 수 있는지 확인 하는 용도 is, as를 사용합니다. 📝 형변환은 'ex. let someDouble = Double(2)' 타입 캐스팅이 아니라 새로운 값을 생성하는 것입니다. 2. 예제 클래스 class Person { var name: String = "" func breath() { print("숨을 쉽니다") } } class Student: Person { var school: String = "" func goToSchool() { print("등교를 합니다") } } class Unive..

iOS/Swift 기초

[ Swift 기초 ] 옵셔널 체이닝과 nil 병합

안녕하세요 공공돌🧸 입니다. 옵셔널 체이닝과 nil 병합에 대해 정리 해봤습니다. 1. 옵셔널 체이닝과 nil 병합 1. 옵셔널 체이닝 옵셔널 체이닝은 옵셔널의 내부의 내부의 내부로 옵셔널이 연결되어 있을 때 유용하게 활용할 수 있습니다. 매번 nil 확인을 하지 않고 최종적으로 원하는 값이 있는지 없는지 확인할 수 있습니다. // 예제 클래스 // 사람 클래스 class Person { var name: String var job: String? var home: Apartment? init(name: String) { self.name = name } } // 사람이 사는 집 클래스 class Apartment { var buildingNumber: String var roomNumber: Strin..

iOS/Swift 기초

[ Swift 기초 ] 인스턴스의 생성과 소멸 ( init / deinit )

안녕하세요 공공돌🧸 입니다. 인스턴스에 생성과 소멸에 대해 정리 해봤습니다. 1. 인스턴스의 생성과 소멸 프로퍼티 초기값 이니셜라이저 init 디이니셜라이저 deinit 1. 프로퍼티 초기값 스위프트의 모든 인스턴스는 초기화와 동시에 모든 프로퍼티에 유효한 값이 할당되어 있어야 합니다. 프로퍼티에 미리 기본값을 할당해두면 인스턴스가 생성됨과 동시에 초기값을 지니게 됩니다. class PersonA { // 모든 저장 프로퍼티에 기본값 할당 var name: String = "unknown" var age: Int = 0 var nickName: String = "nick" } // 인스턴스 생성 let jason: PersonA = PersonA() // 기본값이 인스턴스가 지녀야 할 값과 맞지 않다면 ..

iOS/Swift 기초

[ Swift 기초 ] 상속

안녕하세요 공공돌🧸 입니다. 상속에 대해 정리 해봤습니다. 1. 상속 1. 스위프트 상속 상속은 클래스, 프로토콜 등에서 가능합니다. 열거형, 구조체는 상속이 불가능합니다. 스위프트의 클래스는 단일상속으로, 다중상속을 지원하지 않습니다. 이번 파트에서는 클래스의 상속에 대해서 알아봅니다. 2. 문법 class 이름: 상속받을 클래스 이름 { /* 구현부 */ } 3. 사용 final 키워드를 사용하면 재정의(override)를 방지할 수 있습니다. static 키워드를 사용해 타입 메서드를 만들면 재정의가 불가능 합니다. class 키워드를 사용해 타입 메서드를 만들면 재정의가 가능합니다. class 앞에 final을 붙이면 static 키워드를 사용한것과 동일하게 동작합니다. override 키워드를 ..

iOS/Swift 기초

[ Swift 기초 ] 프로퍼티 감시자

안녕하세요 공공돌🧸 입니다. 프로퍼티 감시자에 대해 정리 해봤습니다. 1. 프로퍼티 감시자 1. 프로퍼티 감시자 프로퍼티 감시자를 사용하면 프로퍼티의 값이 변경될 때 원하는 동작을 수행할 수 있습니다. 값이 변경되기 직전에 willSet블럭이, 값이 변경된 직후에 didSet블럭이 호출됩니다. 둘 중 필요한 하나만 구현해 주어도 무관합니다. 변경되려는 값이 기존 값과 똑같더라도 프로퍼티 감시자는 항상 동작합니다. willSet 블럭에서는 암시적 매개변수 newValue를, didSet 블럭에서는 oldValue를 사용할 수 있습니다. 프로퍼티 감시자는 연산 프로퍼티에는 사용할 수 없습니다. 프로퍼티 감시자는 함수, 메서드, 클로저, 타입 등의 지역/전역 변수에 모두 사용 가능합니다. 2. 정의 및 사용 ..

Sheep1sik
'iOS' 카테고리의 글 목록 (4 Page)