'iOS/Swift' 카테고리의 글 목록 — SH's Devlog

iOS/Swift

iOS/Swift

[Swift] 동시성 (Concurrency)

[ 이 게시물은 Swift.org를 참고하며 Swift를 공부하기 위해 작성하는 글 입니다. ] Swift 는 구조화 된 방식으로 비동기 (asynchronous) 와 병렬 (parallel) 코드 작성을 지원합니다. 비동기 코드 (Aynschronous code) 는 일시적으로 중단했다가 다시 실행할 수 있지만 한번에 프로그램의 한 부분만 실행합니다. 프로그램에서 코드를 일시 중단하고 다시 실행하면 UI 업데이트와 같은 짧은 작업을 계속 진행하면서 네트워크를 통해 데이터를 가져오거나 파일을 분석하는 것과 같은 긴 실행작업을 계속할 수 있습니다. 병렬 코드 (Parallel code) 는 동시에 코드의 여러부분이 실행됨을 의미합니다. 예를 들어 4코어 프로세서의 컴퓨터는 각 코어가 하나의 작업을 수행하므..

iOS/Swift

[iOS/Swift] 열거형, 구조체, 클래스(Enum, Structure, Class)

[ 이 게시물은 Swift.org를 참고하며 Swift를 공부하기 위해 작성하는 글 입니다. ]열거형 (Enumeration)열거형 (Enumeration)은 관련된 값을 그룹으로 만들기 위한 타입을 정의하고 코드에서 타입-세이프한 방법으로 동작하게 합니다. 열거형 구문 (Enumeration Syntax)열거형은 enum 키워드로 선언하고 중괄호 안에 모든 정의를 선언합니다.enum SomeEnumeration { // enumeration definition goes here} 아래 예제는 나침반 4개의 주요 포인트를 나타냅니다.enum CompassPoint { case north case south case east case west} 열거형 안에 정의된 값(north,..

iOS/Swift

[iOS/Swift] 클로저 (Closures)

[ 이 게시물은 Swift.org를 참고하며 Swift를 공부하기 위해 작성하는 글 입니다. ] Swift의 클로저 (Closures)는 다른 프로그래밍 언어에서 클로저, 익명 함수, 람다, 블록과 유사합니다. 클로저는 정의된 컨텍스트에서 모든 상수와 변수에 대한 참조를 캡처하고 저장할 수 있습니다. 이러한 상수와 변수를 폐쇄 (closing over)라고 합니다. Swift는 캡처의 모든 메모리 관리를 처리합니다. 클로저는 3가지 형태 중 하나를 취합니다.전역 함수는 이름을 가지고 어떠한 값도 캡처하지 않는 클로저입니다.중첩 함수는 이름을 가지고 둘러싼 함수로 부터 값을 캡처할 수 있는 클로저입니다.클로저 표현식은 주변 컨텍스트에서 값을 캡처할 수 있는 경량 구문으로 작성된 이름이 없는 클로저입니다. ..

iOS/Swift

[iOS/Swift] 함수 (Functions)

[ 이 게시물은 Swift.org를 참고하며 Swift를 공부하기 위해 작성하는 글 입니다. ] 함수 (Functions)는 특정 작업을 수행하는 코드 모음입니다. Swift의 통합 함수 구문은 파라미터 이름이 없는 단순한 C 스타일 함수에서 각 파라미터에 대한 이름과 인수가 있는 복잡한 Objective-C 스타일까지 모든 것을 표현할 수 있을 만큼 유연합니다. 파라미터는 함수 호출을 단순화하기 위해 기본 값을 제공하며, 함수가 실행을 완료하면 전달된 변수를 수정할 수 있는 in-out 파라미터를 전달할 수 있습니다. Swift의 함수에는 함수 파라미터 타입과 반환 타입으로 구성된 타입이 있습니다. Swift의 다른 타입과 마찬가지로 이 타입을 사용할 수 있으므로 함수를 파라미터로 다른 함수에 전달하고..

iOS/Swift

[iOS/Swift] 제어 흐름 (Control Flow)

[ 이 게시물은 Swift.org를 참고하며 Swift를 공부하기 위해 작성하는 글 입니다. ] Swift는 다양한 제어 흐름(control flow) 구문을 제공합니다. 여러번 작업을 수행하는 for-in 루프, while 구문과 조건에 따라 다르게 실행되는 if, guard, switch 구문과 다른 포인트로 실행 포인트로 전달하는 break와 continue 문이 있습니다. 또한, Swift는 범위를 벗어났을 때 실행되는 코드인 defer 구문을 제공합니다. 또한, 복잡한 매칭 조건은 각 케이스에 대해 where 절로 표현할 수 있습니다.For-In 루프 (For-In Loops)배열에 아이템, 범위의 숫자, 또는 문자열에 문자와 같은 연속된 것에 대해 for-in 루프를 사용하여 반복할 수 있습니..

iOS/Swift

[iOS/Swift] 콜렉션 타입(Collection Types)

[ 이 게시물은 Swift.org를 참고하며 Swift를 공부하기 위해 작성하는 글 입니다. ] Swift는 콜렉션의 값을 저장하기 위한 배열(array), 집합(set), 딕셔너리(dictionary) 3개의 원시적인 콜렉션 타입(collection types)을 제공합니다.배열 (Arrays)배열(arrays)은 순서대로 같은 타입의 값을 저장합니다. 같은 값은 배열에 다른 순서로 존재할 수 있습니다.배열 타입 구문 (Array Type Shorthand Syntax)Swift 배열의 타입은 Element는 저장할 배열 값의 타입을 나타내는 Array로 작성합니다. 또한 짧게 [Element]로 작성할 수도 있습니다. 두 형식이 기능적으로 동일하지만 보통은 짧은 표현이 자주 사용됩니다. 빈 배열 생성..

iOS/Swift

[iOS/Swift] 기본 연산자(Basic Operators)

[ 이 게시물은 Swift.org를 참고하며 Swift를 공부하기 위해 작성하는 글 입니다. ]대입 연산자 (Assignment Operator)= 연산자를 통해 초기화할 수 있습니다.let b = 10var a = 5a = b// a is now equal to 10 우항이 여러개의 값이 있는 튜플이라면 튜플의 요소는 여러개의 상수 또는 변수로 한번에 분해될 수 있습니다.let (x, y) = (1, 2)// x is equal to 1, and y is equal to 2 C와 Objective-C에서의 대입 연산자와 다르게 Swift의 대입 연산자는 값을 반환하지 않습니다. 즉, 아래의 예시는 유효하지 않습니다.if x = y { // This is not valid, because x = y..

iOS/Swift

[iOS/Swift] Swift 기본 구문 (The Basics)

[ 이 게시물은 Swift.org를 참고하며 Swift를 공부하기 위해 작성하는 글 입니다. ]상수와 변수(Constants and Variables)상수와 변수는 이름과 특정 타입의 값을 연결합니다. 상수(Constant)의 값은 최초 지정 후 변경이 불가능하지만 변수(Variable)는 다른 값으로 변경이 가능합니다. 상수는 let 키워드로 선언하고, 변수는 var 키워드로 선언합니다. // 상수let str = "Constants"// 변수var str = "Hello Swift"str = "Variable" 타입 명시(Type Annotations)상수 또는 변수를 선언할 때 타입을 명확하게 하기 위해 타입 명시를 할 수 있습니다. 타입을 명시하는 방법은 상수 또는 변수의 이름 뒤에 콜론과 공백 ..

반응형
seunghwaan
'iOS/Swift' 카테고리의 글 목록