STUDY/Swift & iOS 16

Swift 문법 기초 6

옵셔널 심화 옵셔널체이닝 매번 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: String var `guard`: Person? var owner: Person? init(dong: String, ho: String) { buildingNumber = dong roomNumber = ho } } let dg: Person? = Person(name: "Donggun") le..

STUDY/Swift & iOS 2022.06.25

Swift 문법 기초 5

프로퍼티 구조체, 클래스, 열거형 내부에 구현할수 있음 열거형 내부에는 연산 프로퍼티만 가능 프로퍼티의 종류 struct Student { var name: String = "dg" // 인스턴스 저장 프로퍼티 var koreanAge: Int = 1 var westernAge: Int { // 인스턴스 연산 프로퍼티 get { return koreanAge - 1 } set { koreanAge = westernAge + 1 } } } 인스턴스 저장 프로퍼티: 인스턴스 내부에 저장된 변수 인스턴스 연산 프로퍼티: 인스턴스 내부에 있는 변수이고 연산을 통해 다른 값을 가져오고 세팅할수 있는 변수 get 만 있는 경우 읽기전용 프로퍼티로 사용 struct Student { static var descrip..

STUDY/Swift & iOS 2022.06.21

Swift 문법 기초 4

사용자 정의 타입 구조체 value 타입 struct Sample { // instance property var mutableProperty: Int = 100; let immutableProperty: Int = 200; // type property static var typeProperty: Int = 100; // 인스턴스 메서드 func instanceMethod() { print("instance method") } // 타입 메서드 static func typeMethod() { print("type method") } } 가변 인스턴스로 선언하면 가변 프로퍼티는 변경 가능, 불변 프로퍼티는 변경 불가능 불변 인스턴스로 선언하면 가변 프로퍼티도 변경 불가능 인스턴스 메서드: 인스턴스를 선언..

STUDY/Swift & iOS 2022.06.20

Swift 문법 기초 3

옵셔널 값이 있을수도 없을수도 있음 let opt: Int? = nil nil 가능성이 있는 곳에서 직접 확인 하지 않아도 사용할수 있음 nil 가능성을 문서나 주석으로 남기지 않아도됨 예시) func func1(optParam: Int?) {} func func2(param: Int) {} func1(optParam: nil) // ok func2(param: nil) // error optional = enum + general enum Optional : ExpressibleByNilLiteral { case none case some(Wrapped) } let optVal: Optional = nil // 원형 let optVal2: Int? = nil // 가능 ?: 옵셔널 기존 변수처럼 사용할..

STUDY/Swift & iOS 2022.06.13

Swift 문법 기초 2

조건문 if-else 구문 if 조건 { } else if 조건2 { } else { } 조건문에 괄호를 쳐도 되고 안쳐도 됨 switch 구문 switch 비교값 { case 패턴: /* 실행 구문 */ default: /* 실행 구문 */ } break를 명시하지 않아도 case 마다 break case 내부에 실행 가능한 코드가 반드시 위치해야함 default 구문은 반드시 작성해야함 fallthrough 키워드를 사용해서 break를 무시할수 있음 , 나 범위 연산자 등으로 여러 패턴을 명시할수 있음 반복문 for - in for item in items { /* 실행 구문 */ } 파이썬과 비슷함 while while 조건 { } 조건에 숫자가 들어가면 에러. Bool 값 필요 repeat-wh..

STUDY/Swift & iOS 2022.06.09

Swift 문법 기초 1

https://yagom.net/courses/swift-basic/ 기초 개념 Naming Rule (이름짓기 규칙) lowerCamelCase Function method variable constant UpperCamelCase Type(class, struct, enum, extension) 콘솔로그 print: 단순 문자열 출력 dump: 인스턴스의 자세한 설명(description)까지 출력 String Interpolation (문자열 보간법) \() : 프로그램 실행 중 문자열 내 변수 또는 상수의 실질적인 값을 표현하기 위해 사용 ex) print(“Hello \(name)!”) 상수와 변수 let: 상수 선언. 변경 불가능 let name: String = “dg” let name = ..

STUDY/Swift & iOS 2022.06.07