본문 바로가기

분류 전체보기

[Swift] 열거형 enum 은 타입이므로 대문자 카멜케이스를 사용하여 이름을 정의한다.각 case는 소문자 카멜케이스로 정의한다.각 case는 그 자체가 고유의 값이다. enum 이름 {case 이름1case 이름2case 이름3, 이름4, 이름5. . .} enum Weekday {case moncase tuecase wedcase thu, fri, sat, sun} var day: Weekday = Weekday.monday = .tue // 이넘 사용 시 default 구현 안해줘도 됨.// 단 하나라도 빼먹을 시 default 구현 해 줘야됨. switch day {case .mon, .tue, .wed, .thu:print("평일입니다")case Weekday.fri:print("불금 파티!!!")case .sa..
[Swift] 클래스 클래스 - 구조체와 유사- 구조체는 값 타입 클래스는 참조 타입- 다중 상속 안됨 class 이름 {구현부} class Sample {var mutableProperty: Int = 100 // 가변 프로퍼티let immutableProperty: Int = 100 // 불변 프로퍼티 static var typeProperty: Int = 100 // 타입 프로퍼티 // 인스턴스 메서드func instanceMethod() {print("instance method")} // 타입 메서드// 재정의 불가 타입 메서드 - staticstatic func typeMethod() {print("type method - static")} // 재정의 가능 타입 메서드 - classclass func classM..
[Swift] 구조체 struct 이름 {구현부} struct Sample {var mutableProperty: Int = 100 // 가변 프로퍼티 - 구조 안의 변수let immutableProperty: Int = 100 // 불변 프로퍼티 static var typeProperty: Int = 100 // 타입 프로퍼티 // 인스턴스 메서드func instanceMethod() { } // 타입 메서드static func typeMethod() { }} // 가변 인스턴스var mutable: Sample = Sample() mutable.mutableProperty = 200 // 불변 인스턴스let immutable: Sample = Sample() // 에러 뜸immutable.mutableProperty = ..
[Swift] 옵셔널 Optional 값이 '있을 수도 있고, 없을 수도 있음' let optionalConstant: Int? = nil // 다음은 에러let someConstant: Int = nil // nil 의 가능성을 명시적으로 표현 func someFunction(someOptionalParam: Int?) {// . . .} func someFunction(someParam: Int) {// . . .} Optional(enum + general) enum Optional : ExpressibleByNilLiteral {case nonecase some(Wrapped)} // Optional 를 간단하게 Int? 로 표현 하는 것let optionalValue: Optional = nillet optional..
[Swift] 반복문 // Array 인 경우 for item in items { code } // Dictionary의 item은 key와 value로 구성된 튜플 타입이다. for (name, age) in people { print("\(name): \(age)") } // 역시 () 생략 가능 while integer.count > 1 { integers.removeLast() } // do while 과 동일 repeat { integers.removeLast() } while integers.count > 0 Dart for (int i = 0; i < 5; i++) {} while (x < 10) {} for (var data in list) {}
[Swift] 조건문 // 기존과 다른 점은 () 생략 가능! {} 생략 안됨!! if someInteger 100 {print("100 초과")} else {print("100")} // switch 동일 // 범위 연산자를 활용하면 더욱 쉽고 유용하다.// break 생략 가능 (fallthrough 사용 하면 다음 case도 호출 가능)// default 안쓰면 에러 뜸 switch someInteger {case 0:print("zero")case 1..
[Swift] 함수 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 { 함수 구현부 return 반환값 } func sum(a: Int, b: Int) -> Int { return a + b } func printMyName(name: String) -> Void { print(name) } // Void 생략 가능 func printYourName(name: String) { print(name) } func hello() -> Void { print("hello") } func hello() -> { print("hello") } // 기본값을 갖는 매개변수는 매개변수 목록 중에 뒤쪽에 위치하는 것이 좋다. // 기본값이 있는 경우 생략 가능 func greetin..
[Swift] 컬렉션 타입 Array - 순서가 있는 리스트 컬렉션 Dictionary - 키와 값의 쌍으로 이루어진 컬렉션 Set - 순서가 없고, 멤버가 유일한 컬렉션 var integers: Array = Array() integers.append(1) // 맨 뒤에 추가 integers.append(100) integers.contains(100) // true - 값이 있는지 없는지 알 수 있다. integers.remove(at: 0) integers.removeLast() integers.removeAll() integers.count integers[0] // 에러 발생 - 빈 리스트 이기 때문 접근 불가 // Array 다양한 생성 방법 var doubles: Array = [Double]() var strings..