iOS/iOS Swift 문법 22

iOS swift 제어전달문 (4가지) / 구문레이블

제어전달문: 코드의 한 부분에서 다른 부분으로 제어 흐름을 전달하여 코드가 실행되는 순서를 변경해주는 구문. 4가지 1. break 2. continue 3. fallthrough : switch구문의 흐름을 제어할 때 다룬 구문. 일치된 case 블록의 실행을 다음 case 블록으로 전달할 때 사용. 4. return : 함수, 메소드에서 사용. 값을 반환 및 실행 종료 또는 단순히 코드의 실행을 종료. break: switch 구문에서의 실행 흐름이나 반복 실행 중인 루프를 조건식의 결과에 상관없이 즉각적으로 종료하는 데에 사용. continue: 이 구문 아래에 있는 실행 구문들을 건너뛰고 다음 반복을 시작하는 역할. continue구문 이후에 실행할 내용이 남아있더라도 실행되지 않는 것은 brea..

iOS swift switch구문

switch구문 입력받은 값을 조건식 여부가 아니라 패턴으로 비교, 그 결과를 바탕으로 실행 블록을 결정하는 조건문. 나열된 패턴들을 순서대로 비교하다가 일치하는 첫번째의 코드 불록을 실행. switch { case : case , : default : } case 비교 패턴 어느 것과도 일치하지 않았다면, 맨 마지막에 작성된 default구문의 코드가 실행된다. 일치하는 비교 패턴이 있을 경우, 해당 블록의 실행코드를 처리하고, 더 이상의 비교 없이 전체 분기문을 종료. 설사 일치하는 비교 패턴이 여러개 있더라도 맨 처음 일치하는 case구문 하나만 실행. 오직 하나의 case구문만 처리하고 나면 더 이상 비교를 진행하지 않음. 다른 언어에서는 원래 각 case키워드 블록마다 break 추가 해야하는데..

iOS swift #available 구문

#available 구문 API가 버전을 탄다 OS버전별로 구문을 달리 작성해 주어야 한다 OS버전별로 구문을 분리해야 할 때 #available 구문 사용 if #available(, , ) { } else { } 플랫폼, 버전은 상수로 인식되므로 문자열 처리를 위해 따옴표 사용할 필요 없다. 단순히 플랫폼과 버전을 나열하기만 하면 됨. 최신 API를 사용할 때는 항상 #available 구문을 사용해서 코드 분리, 하위 버전 사용자를 위한 처리까지 해주어야 함. 출처: 꼼꼼한 재은씨의 swift 문법편

iOS swift guard구문

guard구문: if구문과 마찬가지로 주어진 표현식의 결과가 참인지 거짓인지에 따라 구문의 실행 여부를 결정짓는 방식의 조건문. if구문과의 차이점: guard구문에는 else블록이 필수이지만, 표현식의 결과가 참일 때 실행되는 블록이 없다. guard else { 주로 후속 코드들이 실행되기 전에 특정 조건을 만족하는지 확인하는 용도로 사용. 특정 조건을 만족하지 않은 채로 후속 코드를 실행하면 심각한 오류가 발생할 경우에, 전체구문을 "조기종료" 하기위한 목적으로 사용. 따라서 guard구문의 else 블록에는 이후의 코드 진행을 막아주는 구문이 반드시 포함되어야 한다. return 또는 break등. func divide(base:Int) { guard base !=0 else { print("연산..

iOS swift A ?? B

A ?? B 만약 A가 nil이 아닐 경우 옵셔널을 해제하고, nil일 경우 대신 B값을 사용하라. 이 연산자를 사용하면 옵셔널 타입이 해제된다. 이 연산자의 앞쪽에는 옵셔널 값이, 뒤쪽에는 일반 값이 위치한다. 이 연산자의 뒤쪽에 위치한 일반 값의 타입은 앞쪽 옵셔널 값에서 옵셔널을 해제한 타입과 일치해야 한다. A != nil ? A! : B if A != nil { return A! } else { return B } 응용>> let cell = tableView.dequeueReusableCell(withIdentifier: "cell") ?? UITableViewCell() "cell"아이디를 가진 셀을 읽어와 옵셔널을 해제하되, 만약 그 값이 nil일 경우 UITableViewCell 인스턴스..

if 문 vs. switch문

if문 = 특정 조건을 비교할 때 주로 사용 switch문 = 특정 패턴이나 범위를 비교할 때 주로 사용. 1) 조건이 1가지일 때 2) 조건이 2가지일 때 두가지 조건 중 하나라도 충족하면 해당 구문을 수행하는 예제 if 문 = 조건을 모두 써주고 OR 연산자 사용(||) switch문 = 비교패턴을 나열하고 해당 패턴 중 하나라도 맞으면 해당 구문 수행 3) 조건이 범위일 때 if문 = AND(&&)연산자 사용 switch문 = 범위연산자 사용 ( ..) 사용 Do it 책 p693~ 참고

옵셔널 변수

옵셔널 = 어떤 값이 존재하지 않는다. 즉, 변수가 nil이거나 값의 존재 여부를 알 수 없다. 스위프트에서는 변수를 선언할 때 변수에 반드시 nil 이 아닌 값을 할당해야 하지만, 옵셔널 타입을 사용해서 변수에 값이 없다는 것을 알 수 있다. 옵셔널로 선언된 변수에 값이 할당되면, 그 값은 '옵셔널에 래핑(wrapping)되었다' 고 한다. 이 값은 !를 사용하여 강제 언래핑(force unwrapping)하여 값에 접근할 수 있다. 또한 옵셔널은 암묵적인 언래핑(implicity unwrapping)이 되도록 선언할 수 있는데, 이 때는 강제 언래핑을 사용하지 않아도 값에 접근할 수 있다. -출처: Do it 스위프트로 아이폰 앱 만들기 책