iOS

    [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 12. 옵셔널 추출

    옵셔널 추출 옵셔널에 들어있는 값을 사용하기 위해 꺼내오는 것 옵셔널은 값을 보호해주는 보호막이 하나씩 있다고 생각하면 편하다. 옵셔널 추출 방식 Optional Binding (옵셔널 바인딩) + Force Unwrapping (강제 추출) - Optional Binding (옵셔널 바인딩) : 상자에 값이 있냐고 물어보는 것. 값이 있으면 꺼내오고 없으면 지나가고. - Force Unwrapping (강제 추출) : 보호막을 강제로 깨부수고 값을 가져오는 방식, 만약 강제추출시 값이 없으면(nil) 런타임 오류 발생하기 때문에 그닥 추천되진 않음.

    [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 11. 옵셔널

    옵셔널 값이 있을 수도, 없을 수도 있음을 표현하는 개념 => nil이 할당 될 수 있냐 없냐 옵셔널 문법과 선언 옵셔널 문법 = enum + generics (나중에 다시 자세히 배운다고 함) 옵셔널의 표현 : 느낌표를 이용한 암시적 추출 옵셔널 + 물음표를 이용한 옵셔널 -느낌표를 이용한 암시적 추출 옵셔널 -물음표를 이용한 옵셔널 둘의 가장 큰 차이 : 변수로 연산할 수 있냐 없냐

    [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 10. 반복문

    for문 for item in items { 실행 구문 } While문 while 조건 { 실행 구문 } repeat while 구문 기존 언어의 do-while 구문과 비슷하다. repeat { 실행 구문 } while 조건

    [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 09. 조건문

    if - else 구문 if 조건 { 실행구문 } if 조건 { 실행구문 } else { 실행구문 } if 조건 { 실행구문 } else if 조건 { 실행구문 } ※ Swift의 조건문에는 항상 Bool (true or false) 형태가 와야한다. 아니면 컴파일 에러! Switch switch 비교값 { case 패턴 : 실행구문 case 패턴 : 실행구문 default : 실행구문 } ... : 이상, 이하 ..< : 이상, 미만

    [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 08. 함수 고급

    함수의 매개변수 기본 값 매개변수 기본 값 : 함수 내에서 매개변수의 기본 값을 설정하는 것을 말한다. 나중에 함수를 호출하여 사용할 때 기본값이 설정되어 있는 매개변수의 값을 따로 지정해주지 않아도 기본값이 호출되고, 함수 호출 시 기본값이 설정되어 있는 매개변수에 다른 값을 적용하여 사용할 수 있다. 매개변수 기본값을 지정할 시에 맨 뒤로 빼줘야 함! func 함수이름(매개변수1:타입, 매개변수2:타입 = 매개변수 기본값) -> 반환 타입{ 함수 구현부 return 반환값 } 전달인자 레이블 ( Argument Label ) 전달인자 레이블은 함수를 호출하여 사용 시 사용자 입장에서 더욱 편리?하고 분명?하게 사용하기 위한 인자이다. 함수 선언 구문 내에서는 전달인자 레이블로 선언할 수 없고, 호출 ..

    [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 07. 함수 기본

    함수 선언의 기본 형태 (반환값 ㅇ, 매개변수 ㅇ) func 함수이름(매개변수1:데이터 타입, 매개변수2:데이터타입) -> 반환 타입{ 함수구현부 return 반환값 } 반환값이 없는 함수 선언 문법 func 함수이름(매개변수:데이터타입) -> Void { 함수 구현부 } //Void를 생략해도 됨 func 함수이름(매개변수:데이터타입) { 함수구현부 } 매개변수가 없는 함수 선언 문법 func 함수이름() -> 반환 타입{ 함수 구현부 return 반환값 } 반환값과 매개변수 둘 다 없는 함수 선언 문법 func 함수이름() -> Void{ 함수 구현부 } //또는 func 함수이름() { 함수 구현부 } //또는 한 줄로 func 함수이름() {함수 구현부}

    [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 06. 컬렉션 타입(Array, Dictionary, Set) (💎생각해보기)

    Array [ ] Array : 멤버가 순서(인덱스)를 가진 리스트 형태의 컬렉션 타입. 인덱싱 활용 가능, 멤버 중복 가능 Array 선언하는 문법 var integers: Array = Array() //Int타입의 Array 빈 Array 생성 var integers: Array = [Int]() var integers: Array = [] var integers: [Int] = Array() var integers: [Int] = [Int]() var integers: [Int] = [] var integers: [Int]() //모두 다 같은 의미 Array에 멤버 추가 문법 리스트.append(추가할 멤버) integers라는 Array의 멤버 데이터 타입을 Int라고 선언해줬기 때문에 Dou..

    [iOS 프로그래밍을 위한 스위프트 기초] Ch1. 스위프트 기초 - 05. Any, AnyObject, nil (💎생각해보기)

    nil nil : '없음'을 의미하는 키워드. 다른 프로그래밍 언어의 null값과 유사한 의미 Any Any : Swift의 모든 타입을 지칭하는 키워드 모든 타입을 지칭하기 때문에 모든 데이터 타입의 종류(7가지)가 담길 수 있다. 하지만, nil값은 담을 수 없는데, 그 이유는 Any는 모든 값을 담을 수 있지만, 없는 값 nil은 담을 수 없다. someDouble의 데이터 타입을 Double로 선언해주고 Any 타입인 someAny 값을 할당하려고 하니 에러가 발생한다. Swift에서는 값 끼리의 상호 교환이 안되기 때문이다. 사용하지 않는 편이 낫다고 한다.. AnyObject AnyObject : 모든 클래스 타입을 지칭하는 프로토콜 (클래스와 프로토콜은 나중에 자세하게 다룬다고 한다.) An..