2025/05 6

[문법/키워드] Computed Property / Extension

1. Computed Property (계산 속성)속성처럼 보이지만, 내부적으로 계산해서 값을 반환함.보통 다른 속성을 기반으로 동작get, set 블럭 사용 가능.저장공간을 갖지 않음 (값을 "가지고 있는" 게 아니라 "계산"함)읽기 전용도 가능, 읽기/쓰기 모두 가능. struct 안에 있는 값을 활용하여 어떤 계산식을 통해 값을 리턴시켜줌. struct Circle { var radius: Double // 계산 속성 (읽기 전용) var area: Double { return .pi * radius * radius } // 계산 속성 (읽기 & 쓰기) var diameter: Double { get { re..

iOS/Swift 2025.05.21

[문법/키워드] mutating, Associated Value (연관 값)

1. mutatingmutating 키워드는 구조체(struct)나 열거형(enum)에서 인스턴스 자신의 속성을 변경하고자 할 때 사용한다.클래스(class)는 참조 타입이라서 메서드 내에서 속성 수정이 자유롭지만,구조체/열거형은 값 타입이라 기본적으로 메서드 내에서 속성 변경이 금지됩니다.이를 허용하기 위해 mutating 키워드를 사용합니다. struct Counter { var count = 0 mutating func increment() { count += 1 }}var c = Counter()c.increment()print(c.count) // 1 2. Associated Value (연관값) 열거형(enum) 에서 각 case에 값을 함께 저장하고 싶을 때 ..

iOS/Swift 2025.05.20

Swift에서 closure 함수 쓸 때 사용되는 @escaping 은 뭘까?

@escaping 키워드는 Swift에서 클로저가 함수의 생명 주기 밖에서도 사용될 수 있을 때 사용한다.클로저가 함수가 반환된 후에도 실행될 수 있다면, 해당 클로저 파라미터에 @escaping을 붙여야 한다.보통 비동기 작업에서 자주 사용된다. 예를 들어, 네트워크 요청이 끝난 뒤 결과를 처리하는 클로저가 이에 해당한다. 언제 @escaping을 사용해야 하는가?클로저가 다음 중 하나라도 해당되면 @escaping을 붙여야 한다.함수가 종료된 이후에 클로저가 실행된다.클로저가 저장 프로퍼티로 저장된다.클로저가 DispatchQueue, OperationQueue 등에 의해 나중에 호출된다. func fetchData(completion: @escaping (String) -> Void) { ..

iOS/Swift 2025.05.14

Swift Closure

Closure 명명된 함수 생성없이 실행되는 코드의 그룹을 말한다 이 클로저는 정의된 context 에서 상수, 변수에 대한 참조를 캡처하고 저장할 수 있다.이러한 상수와 변수를 closing over 라고 한다.Swift 는 캡처의 모든 메모리 관리를 처리한다. 클로저는 세가지의 형태 중 하나의 모습을 한다 전역 함수 : 이름을 가지고 어떠한 값도 캡처하지 않음중첩 함수 : 둘러싼 함수로 부터 값을 캡처주변 context 의 값을 캡처할 수 있는 경량 구문으로 작성되는 이름 없는 클로저 Function 과 Closure import SwiftUIstruct ClosureFunctionDemoView: View { // MARK: - 1. Function (이름 있는 함수) fun..

iOS/Swift 2025.05.03

Swift 접근 제어 요약

1. 접근 제어란?다른 소스 파일이나 모듈에서 코드에 접근할 수 있는지 여부를 제한.구현 세부사항 은닉 및 공용 인터페이스 정의 목적.클래스, 구조체, 열거형, 프로퍼티, 메서드, 초기화, 서브스크립트, 프로토콜, 전역 함수 등에 적용 가능.2. 핵심 개념개념설명모듈독립적인 빌드/배포 단위 (예: 앱, 프레임워크)소스 파일모듈 내의 개별 .swift 파일패키지여러 모듈을 묶은 집합 (SwiftPM 기준)3. 접근 수준 5단계수준설명open가장 개방적. 다른 모듈에서도 상속, 재정의 가능 (클래스/멤버만 사용 가능)public다른 모듈에서 접근은 가능, 상속/재정의는 불가internal기본값. 같은 모듈 내에서만 사용 가능fileprivate같은 소스 파일 내에서만 접근 가능private같은 선언 블록 및..

iOS/Swift 2025.05.02

내가 더 이상 헷갈리기 싫어서 적는 Swift의 핵심 구성 요소

내가 맨날 파라미터, 메소드, 함수 등을 제대로 딱 인지 못하고 부르는 것 같아서(걍 막 냅다 함수라고 쓰거나, 걍 넘긴다 받는다 이런식으로 쓰는게 많아서)각자의 애들에게 정확한 이름을 확인하기로 했다. 1. Property 프로퍼티클래스, 구조체, 열거형에 속한 값저장 프로퍼티(Stored Properties) : 값을 저장하는 변수나 상수계산 프로퍼티(Computed Properties) : 값을 계산하여 반환타입 프로퍼티(Type Properties) : 인스턴스가 아닌 타입 자체에 속한 프로퍼티프로퍼티 옵저버(Property Observers) : 프로퍼티 값 변경을 관찰 후 반응 struct Person { var name: String // 변수 저장 프로퍼티 let bi..

iOS/Swift 2025.05.01
728x90