정의 문법 스위프트 대부분의 타입은 구조체로 이루어져 있습니다. 구조체는 값 타입입니다. 타입이름은 대문자 카멜케이스를 사용하여 정의합니다. struct 이름 { /* 구현부 */ } */ 프로퍼티 및 메서드 구현 // 프로퍼티는 구조체 안에 들어가는 인스턴스 변수라고 생각 // 메서드는 안에 들어가 있는 함수라고 생각 struct Sample { // 가변 프로퍼티 var mutableProperty: Int = 100 // 불변 프로퍼티 let immutableProperty: Int = 100 // 가변, 불변 프로퍼티는 인스턴스 프로퍼티라고 생각하면 됨 // 타입 프로퍼티 static var typeProperty: Int = 100 // 인스턴스 메서드 func instanceMethod() {..
APP
옵셔널 값 추출 방법 2가지 • Optional Binding - 옵셔널 바인딩 • Force Unwrapping - 강제 추출 Optional Binding 옵셔널의 값을 꺼내오는 방법 중 하나 nil 체크 + 안전한 값 추출 ex 인트형을 보관하는 상자를 하나 더 보호막으로 감쌓아 준다고 생각하면됨 상자안에 값이 있습니까? 있으면 추출 없으면 지나침 //MARK:- Optional Binding func printName(_ name: String) { // 일반 스트링 값 가지려고 했는데 print(name) } var myName: String? = nil //printName(myName) // 전달되는 값의 타입이 다르기 때문에 컴파일 오류발생 그래서 if-let 방식을 통해 옵셔널 바인딩 해..
옵셔널 스위프트 핵심 개념중 하나 값이 있을수도, 없을수도 있음 옵셔널이 아닌 상수에다가 nil 값 넣으려고 하면 오류남 let someConstant: Int = nil 오류남 왜 옵셔널이 필요한가 nil의 가능성을 명시적으로 표현 • nil 가능성을 문서화 하지 않아도 코드만으로 충분히 표현가능 • 문서/주석 작성 시간을 절약 • 전달받은 값이 옵셔널이 아니라면 nil체크를 하지 않더라도 안심하고 사용 • 효율적인 코딩 • 예외 상황을 최소화하는 안전한 코딩 let optionalValue: Optional = nil 아래 처럼 줄여 사용 가능 let optionalValue: Int? = nil 옵셔널 표현방법음 ?, ! 2가지가 있음 //MARK:- 암시적 추출 옵셔널 // Implicitly U..
보호되어 있는 글입니다.
for-in 구문 기존 언어의 for-each 구문과 유사합니다. Dictionary의 경우 이터레이션 아이템으로 튜플이 들어옵니다. 튜플에 관해서는 Swift Language Guide의 Tuples 부분을 참고하면 되겠습니다. for-in 구문의 기본 형태 for item in items { /* 실행 구문 */ } for-in 구문의 사용 var integers = [1, 2, 3] let people = ["yagom": 10, "eric": 15, "mike": 12] for integer in integers { print(integer) } // Dictionary의 item은 key와 value로 구성된 튜플 타입입니다 for (name, age) in people { print("\(na..
if-else 구문 if-else 구문의 기본 형태 if만 단독적으로 사용해도 되고, else if, else와 조합해서 사용 가능합니다. if 뒤의 조건 값에는 Bool 타입의 값만 위치해야 하며, 조건 값을 감싸는 소괄호는 선택사항입니다. if 조건 { /* 실행 구문 */ } else if 조건 { /* 실행 구문 */ } else { /* 실행 구문 */ } // if-else의 사용 : if (someInteger 100 { print("100 초과") } else { print("100") } // 100 // 스..
https://mangkyu.tistory.com/111 [프로그래밍] 함수형 프로그래밍(Functional Programming) 이란? 1. 함수형 프로그래밍(Functional Programming)에 대한 이해 [ 프로그래밍 패러다임(Programming Paradigm) ] 프로그래밍 패러다임(Programming Paradigm)은 프로그래머에게 프로그래밍의 관점을 갖게 하고 코드를.. mangkyu.tistory.com https://evan-moon.github.io/2019/12/15/about-functional-thinking/ 기존의 사고 방식을 깨부수는 함수형 사고 최근 많은 언어들이 함수형 프로그래밍 패러다임을 도입하며, 이에 대한 개발자들의 관심 또한 나날히 높아지고 있다. 필..
매개변수 기본 값 매개변수에 기본적으로 전달될 값을 미리 지정할 수 있습니다 기본값을 갖는 매개변수는 매개변수 목록 중에 뒤쪽에 위치하는 것이 좋습니다 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 = 매개변수 기본값 ...) -> 반환타입 { /* 함수 구현부 */ return 반환값 } func greeting(friend: String, me: String = "woogie") { print("Hello \(friend)! I'm \(me)") } // 매개변수 기본값을 가지는 매개변수는 호출시 생략할 수 있습니다 greeting(friend: "hana") // Hello hana! I'm woogie greeting(friend: "john", me: "eric..