🍎 iOS/Swift

    [Swift 문법 정리] 5-2. 함수 - 일급 객체, 클로저

    "꼼꼼한 재은 씨의 Swift 문법편" 책을 공부하며 정리한 내용입니다. ✅ 일급 객체, 일급 함수? 일급 객체(First-Class Object)란 다음의 조건을 만족하는 객체를 말합니다. 객체가 런타임에도 생성이 가능해야 한다. 인자값으로 객체를 전달할 수 있어야 한다. 반환값으로 객체를 사용할 수 있어야 한다. 변수나 데이터 구조 안에 저장할 수 있어야 한다. 할당에 사용된 이름과 관계없이 고유한 구별이 가능해야 한다. 그리고 함수가 위의 조건을 만족하면 그 함수를 일급 함수(First-Class Function)라고 합니다. 또한 언어가 일급 함수를 가지면 그 언어를 함수형 언어라고 하고, Swift는 함수형 언어입니다. 일급 함수는 다음과 같은 특성을 가집니다. 1. 변수나 상수에 함수를 대입할..

    [Swift 문법 정리] 5-1. 함수 - 기본 개념, 매개변수

    "꼼꼼한 재은 씨의 Swift 문법편" 책을 공부하며 정리한 내용입니다. ✅ 함수가 가진 이점? 1. 동일한 코드가 여러 곳에서 사용될 때, 함수화하여 재사용할 수 있습니다. 2. 여러 기능을 하나의 소스 코드에서 작성하는 것보다 기능 단위로 함수화했을 때 가독성이 좋아집니다. 3. 로직을 변경할 때 함수 내부를 수정하면 되기 때문에 용이합니다. ✅ 사용자 정의 함수 정의 func testFunction(a: Int, b: Int) -> Int { return a + b } 기본적인 함수의 정의 방법은 위와 같습니다. 함수 이름의 첫 글자는 반드시 영어 또는 언더바로 시작해야하고, 매개변수 값이 필요 없다면 빈 칸으로 생략할 수 있고, 반환 값이 없다면 반환 값 또한 생략할 수 있습니다. 하지만 반환 값..

    [Swift 문법 정리] 4. Optional - nil, Optional binding 등

    이번 글은 Optional에 대한 정리입니다. 0. Optional ?? Optional은 Swift에서 도입된 새로운 개념으로, 언어 차원에서 프로그램의 안전성을 높이기 위해 사용됩니다. ➡️ 처리 과정에서 문제가 있을 경우 오류를 발생시키고 실행을 중단시키는 대신 nil을 반환합니다. ➡️ 따라서 오류가 발생할 가능성이 있다면 Optional 타입으로 정의해야 합니다. nil ❓ ➡️ "값이 없음" 을 의미하는 특수한 값 ➡️ 순수하게 아무 것도 없다는 것으로, 다른 언어에서 null로 표현되기도 합니다. ➡️ 실패를 의미하면서도 오류를 던지는 것이 아닌 값 ➡️ 원래 Objective-C에서는 빈 메모리 주소를 가리키는 값이었습니다. nil을 사용할 수 있는 타입과 사용할 수 없는 타입을 나누었을 ..

    [Swift 문법 정리] 3. 집단 자료형 - 배열, 집합, 튜플, 딕셔너리

    이번 글은 집단 자료형에 대한 정리입니다. 0. 스위프트의 집단 자료형 배열 (Array) - Index로 구분되는 순서에 따라 리스트 형식의 값을 저장하는 자료형 집합 (Set) - 중복되지 않는 유일한 데이터들이 모인 집합 형태의 자료형 튜플 (Tuple) - 종류에 상관없이 데이터들을 모은 자료형, 수정 및 삭제 불가능 딕셔너리 (Dictionary) - Key와 Value로 연관된 데이터를 순서 없이 모은 자료형 ❗️튜플을 제외한 나머지 자료형은 저장되는 데이터의 타입이 동일해야 합니다. 1. 배열 (Array) 배열에 입력되는 데이터들은 각각의 순서, Index를 가집니다. Index는 정수로 이루어지고 0부터 시작하여 데이터가 추가될 때마다 증가합니다. Index는 순서대로 할당되고, 중간에 ..

    [Swift 문법 정리] 2. 흐름 제어 구문 - for, while, guard, #available 등

    이번 글은 흐름 제어 구문에 대한 정리입니다. 반복문 주어진 조건에 의해 특정 코드 블록을 반복적으로 실행할 수 있게 해주는 구문 For 반복문 → 횟수에 의한 반복 순회 대상 → 주로 순번을 가지는 집단 자료형이나 또는 범위를 가지는 데이터 등 배열, 딕셔너리, 집합, 범위 데이터, 문자열 String은 Character 타입의 개별 문자들이 모여 이루어진 객체 String 타입 자체는 순회 처리를 지원하지 않아 characters 속성을 이용해야 한다. var str = "abcde" for char in str.characters { print(char) } 루프 상수 구문이 반복될 때마다 순회 대상이 포함하고 있는 개별 아이템들을 차례로 넘겨받아 임의로 저장, 실행 블록 내에서 사용할 수 있도록 ..

    [Swift 문법 정리] 1. 기본 문법 - 변수, 상수, 자료형, 연산자 등

    Swift에 관심이 생겨 제가 공부하고 정리하는 내용들을 블로그에 남겨두려 합니다. ( 현재 "꼼꼼한 재은 씨의 Swift 문법편" 책을 공부하며 정리하고 있습니다. ) 우선 이번 글은 Swift의 기본적인 문법, 변수, 상수, 자료형, 연산자 등에 대해 알아보겠습니다. 스위프트 ( Swift ) 객체 지향적 성격을 지닌 스크립트 스타일의 언어이다. 다양한 언어로부터 차용한 현대적 프로그래밍 개념이 모두 반영된 결과물이다. 전처리를 위한 헤더 파일이 필요없다. 클래스, 구조체 선언할 때 정의 (Interface)와 구현 (Implementation)을 분리하지 않고 통합한다. objective-C 에서는 헤더 파일에서 클래스의 원형인 인터페이스 선언, 메인 파일에서는 인터페이스의 내용 구현 모든 객체의 ..