반응형

iOS/개념 11

[Swift] 클로저(Closure)란?

클로저(Closure)란? 클로저는 두 가지로 이루어진 객체다. 하나는 내부 함수이며, 또 다른 하나는 내부 함수가 만들어진 주변 환경이다. 클로저는 외부 함수 내에서 내부 함수를 반환하고, 내부 함수가 외부 함수의 지역 변수나 상수를 참조할 때 만들어진다. 일회용 함수를 작성할 수 있는 구문이다. 익명(Anonymous) 함수라고도 하며 Objective-C 언어의 블록(Block), 자바 언어의 람다(Lambda), 파이썬 언어의 람다(Lambda)와 동일하다고 보면 된다. 일회용 함수란, 한 번만 사용할 구문들의 집합이면서, 그 형식은 함수로 작성되어야 하는 제약조건이 있을 때 만들어 사용할 수 있는 함수이다. 요약하자면, 클로저란 내부 함수와 내부 함수에 영향을 미치는 주변 환경(Context)을..

iOS/개념 2022.04.09

[Swift] 스위프트 변수와 상수

스위프트는 데이터가 저장되는 메모리 내 주소 공간을 개발자가 쉽게 사용할 수 있도록 이름으로 연결한 변수와 상수를 제공한다. 값을 저장한, 혹은 저장할 메모리 주소값을 이름으로 연결해 놓은 것을 변수와 상수라고 한다. 변수와 상수를 이용하여 메모리 주소에 해당하는 공간에 손쉽게 값을 저장하거나 꺼낼 수 있다. 일반적으로 이런 과정을 변수와 상수에 값을 저장한다라고 한다. 변수: 필요에 따라 저장된 값을 몇 번이라도 다른 값으로 변경할 수 있음 - 프로그램의 실행에 따라 변하는 값을 저장 상수: 한 번 저장된 값을 다른 값으로 변경할 수 없음 - 변하지 않을 값을 저장 * 상수를 사용하는 이유? 프로그래밍 소스 관리 목적상 변하지 않는 값은 상수에 저장하는 것이 훨씬 효율적이다. 실수로 값이 변경되는 일을..

iOS/개념 2022.04.02

[Swift] 스위프트 문법 특성

Swift 스위프트 문법 특성 1. 헤더 파일을 작성할 필요가 없다. - 스위프트는 전처리를 위한 헤더 파일이 필요하지 않고, 헤더 파일과 소스 파일이 통합된 하나의 .swift 파일에서 필요한 내용을 정의하고 사용한다. - 스위프트는 클래스나 구조체를 선언할 때 정의(Interface)와 구현(Implementation)을 분리하지 않고 통합해서 작성하는 특성이 있다. 2. 대소문자를 구분한다. - 함수와 메소드, 인스턴스명의 첫 글자는 소문자 - 클래스와 구조체, ㅍ로토콜 등 객체의 첫 글자는 대문자 3. 구문 끝의 세미콜론은 생략 가능하다. - 한 줄에 하나의 구문을 작성할 때 세미 콜론 생략 가능 - 한 줄에 두 개 이상의 구문을 작성할 때는 세미콜론 생략 불가능 4. 엔트리 포인트(시작점)으로 ..

iOS/개념 2022.04.01

[Swift] 함수 타입이란? (Function Types)

함수 타입(Function Types)이란? 변수에 함수를 대입하면 그 변수는 일반적으로 문자열, 정수 등과는 전혀 다른 타입이 되는데 이를 함수 타입(Function Types)이라고 한다. 함수 타입의 형태 함수 타입은 (인자 타입 1, 인자 타입 2,...) -> 반환 타입 형태로 표시한다. 예시1. 매개변수 1개와 반환 타입이 있는 함수 func boo(age: Int) -> String { return "\(age)" } 위 함수를 함수 타입으로 변환 시 (Int) -> String 사용 방법 let b1: (Int) -> String = boo let b2 = boo(age:) b1(3)// return "3" b2(4)// return "4" 예시 2. 매개변수 2개와 반환 타입이 있는 함수..

iOS/개념 2022.03.19

[Swift] 프로퍼티 (Properties) 종류 (저장 or 연산 or 타입)

Swift에서 사용하는 프로퍼티 종류 저장 프로퍼티 연산 프로퍼티 타입 프로퍼티 저장 프로퍼티 인스턴스의 변수 또는 상수 구조체, 클래스에서만 쓰임 프로퍼티 감지사 적용 가능 프로퍼티의 값이 새로 할당될 때마다 호출됨 지연 저장 프로퍼티에 사용할 수 없고, 일반 저장 프로퍼티에만 적용 가능 변경되는 값이 현재의 값과 같더라도 호출됨 값이 변경되기 직전에 호출하는 메서드 willSet메서드 + newValue 변경될 값 값이 변경된 직후에 호출되는 didSet 메서드 + oldValue 변경되기 전의 값 연산 프로퍼티 값을 저장하는 것이 아니라 특정 연산을 실행한 결괏값 클래스, 구조체, 열거형에서 쓰임 set 관용적인 표현으로 newValue 매개변수 이름을 사용. 매개변수는 따로 표기하지 않아야 함 읽..

iOS/개념 2022.03.08

[Swift] SwiftUI Stack (VStack, HStack, ZStack)

SwiftUI에서 기본적으로 많이 사용되는 Stack Stack 종류 VStack : V 축으로 나열되는 Stack HStack : H 축으로 나열되는 스택 ZStack : Z 축으로 나열되는 스택 - 순서대로 쌓기 때문에, 마지막 줄에 있는 View가 가장 앞에 출력됨 - 배경 색상 지정 시, 영역을 자유롭게 하고 싶은 경우 사용 샘플 코드 // ContentView.swift import SwiftUI struct ContentView: View { var body: some View { VStack { VStack { Text("V1") Text("V2") Text("V3") .background(.yellow) } .padding() HStack { Text("H1") Text("H2") Text..

iOS/개념 2022.02.23

[Swift] 기본 데이터 타입 (Character, String, Int, UInt, Float, Double, Bool, Any, AnyObject)

스위프트에서 사용하는 기본 데이터 타입에 대해 알아보겠습니다. 데이터 타입이란? 프로그램 내에서 다뤄지는 데이터의 종류 데이터 타입 특징 - 구조체 타입 기반으로 구현됨 - 대문자 카멜 케이스를 사용 Character - 하나의 문자 - 유니코드 9 문자 사용 (알파벳, 숫자, 한글, 특수문자 사용 가능) - 큰따옴표를 사용 let alpabel: Character = "A" let number: Character = "1" let korean: Character = "ㄱ" let special: Character = "☆" String - 문자열 - 유니코드9 문자 사용 (알파벳, 숫자, 한글, 특수문자 사용 가능) - 큰따옴표 사용 - 멀티라인 사용 시 큰따옴표 세 개 사용 // 상수로 문자열 선언 ..

iOS/개념 2020.11.07

[Swift] 변수(variable)와 상수(caontant) (+상수 사용 이유)

Swift 변수(variable)와 상수(constant) 변수 (variable) 변경 가능한 데이터(값) 키워드 var var [변수명]: [데이터 타입] = [값] ※ 데이터 타입은 생략이 가능하다. (타입추론) 단, 잘못 사용된 타입 추론은 오류가 발생했을 때 해결하기 어려울 수 있으므로 조심히 사용해야한다. - 사용 방법1. 변수를 생성하며 값을 할당 var name: String = "이름" var age: Int = 25 var height: Float = 170.5 age = 26 // 여러 번 값 지정 가능 age = 27 // 여러 번 값 지정 가능 - 사용 방법2.변수를 생성하고 나중에 값을 할당 var name: String var age: Int var height: Float n..

iOS/개념 2020.11.03

[Swift] 주석

주석이란? 프로그래밍에 있어 소스코드에 정보나 내용을 메모를 남기는 목적으로 사용 한 줄 주석 // 한 줄 주석은 // 를 사용 여러 줄 주석 /* 여러 줄 주석은 슬래시와 별표를 사용 시작은 슬래시와 별표, 종료는 별표와 슬래시 사용 */ /* 여러 줄이 아닌 한 줄도 사용 가능 */ 중첩 주석 Swift는 중첩 주석을 지원 /* Swift는 중첩 주석을 지원함 /* 대부분의 프로그래밍 언어는 중첩 주석을 지원하지 않음 // 여러 중첩 모두 가능 */ */ 마크업 문법 변수, 함수, 메서드, 타입 등 작성 후 마크업 문법에 맞춰 주석을 작성하면, 퀵헬프 기능을 사용할 수 있다. 단축키: option(⌥) + command(⌘) + / add 함수 추가 후 단축키를 눌러 주석을 추가한 경우 아래처럼 표시..

iOS/개념 2020.11.02

[Swift] 기본 명명 규칙

Swift 기본 명명 규칙 클래스, 구조체, 익스텐션, 프로토콜, 열거형 이름은 타입의 이름이기 때문에 대문자 카멜케이스 사용 함수, 메서드, 인스턴스 이름은 소문자 카멜케이스 사용 대소문자 구별 변수, 함수, 타입 등의 이름은 모든 문자를 지원하지만 아래 경우와 같은 예외 케이스가 있음 - 스위프트에서 미리 정한 예약어 또는 키워드 명령 구문 뒤에 세미콜론(;) 붙이는 것은 선택 사항이나 안 붙이길 권함 일부 예약어의 경우 강세표(backquote, ')를 사용하여 이름으로 사용 가능

iOS/개념 2020.11.02
반응형