일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- error
- iOSDeveloper
- 프로젝트
- Xcode
- react-query
- 코딩테스트
- JavaScript
- 알고리즘
- 코드트리
- NextJs
- frontend
- 프론트엔드
- AppleDeveloperAcademy
- UIKit
- 프로그래머스
- 코딩테스트실력진단
- Front-end
- TypeScript
- tshaped
- git
- velog
- swiftUI
- Apple Developer Academy
- SWIFT
- 자바스크립트
- globalcommunity
- 회고
- ios
- 코드트리챌린지
- react
- Today
- Total
목록Swift (15)
Moon Work

Swift에서 Unicode.Scalar 다루기개요이 문서는 Swift에서 Unicode.Scalar 타입을 이해하고, 이를 활용하여 문자열을 보다 세밀하게 다루는 방법을 소개합니다. 이 문서를 통해 다음을 얻을 수 있습니다:Unicode 배경에 대한 이해Unicode 스칼라(Unicode Scalar)와 그 역할에 대한 이해Unicode.Scalar 타입이 제공하는 주요 기능 파악실제 코드 예시를 통한 Unicode.Scalar 활용법 습득순서Unicode 개요Unicode.Scalar 기본 개념Unicode.Scalar가 제공하는 기능Unicode.Scalar 기본 활용예시 코드 샘플 프로젝트Unicode.Scalar 샘플 프로젝트Unicode 개요Unicode란?Unicode는 전 세계의 모든 ..

값타입도...힙에 저장된다고...? 값타입의 Heap Allocation(Heap boxing)클로저에 대해 공부하면서 값타입의 Heap Allocation에 대해 더 공부하게 되었습니다. 값타입의 Heap Allocation은 Struct, Enum과 같이 Stack에 저장되는 값 타입이 힙에 할당되는 현상을 의미합니다. 이렇게 Heap에 할당된 경우 값 타입이 heap에 저장되며 class와 같이 참조타입처럼 동작하게 됩니다.Heap Allocation이 발생하는 경우Swift에서 Heap Allocation은 다음과 같은 경우에 발생합니다.프로토콜을 통해 값 타입을 다룰 때클로저에서 캡쳐될 떄(캡쳐리스트가 없는 경우)컬렉션에서 값 타입을 참조할 때클래스 안에 값타임, 값 타입 안에 클래스 타입을 ..

Error 삶은 늘 원하는대로 흘러가지 않습니다. 하지만 그런 상황에 대비를 해야 하는 것이 Error Handling입니다. Error Handling: 에러 처리 또는 ExceptionHandling이라고 말하기도 합니다. Error Handling을 잘해야 하는 이유 만약 여러분이 은행앱을 통해 돈을 송금하는데 갑자기 “에러입니다.”라고 나오기만 하고 어떤 문제인지 말해주지 않고 앱이 종료된다면 어떨까요? Error Handling은 이러한 상황에서 어떤 에러가 어디서 발생했는지 말해주고, 유저가 앱을 지속적으로 사용하는데 중요한 힌트를 제공합니다. (ex. 잔액이 부족합니다, 계좌가 올바르지 않습니다 등) Error의 사용 어떤 함수가 에러를 발생할 가능성이 있다면 Swift에서는 함수 선언 시 ..

Codable: type alias Codable is a type alias for the Encodable and Decodable protocols. When you use Codable as a type or a generic constraint, it matches any type that conforms to both protocols. Coadable은 Encodable과 Decodable을 합친 Union Type이다. 정의 typealias Codable = Decodable & Encodable Decodable: Protocol A type that can decode itself from an external representation. Decodable은 외부 표현을 자신으로 변환..

defer란 후처리인 defer는 작성된 구문은 위치와 상관 없이 코드블럭을 나가기전에 반드시 실행된다. 에러가 나거나 정상적으로 작동되거나 무조건 실행된다. 함수가 종료되기 전 메모리에서 해제하는 등의 기능으로 사용할 수 있다. func sayHello(name: String){ defer { print(name) } print("hello") } sayHello("moonkey") /* hello moonkey */ defer 동작 순서 defer는 Stack으로 동작하기 때문에 defer가 여러개 입력된 경우 가장 먼저 작성된 코드가 가장 나중에 실행된다. func printNums(){ defer { print(1) } defer { print(2) } defer { print(3) } } /* ..

시작하며 SwiftUI tutorial을 보던 중 \. 라는 표현이 등장 했다. 처음 보는 표현이라 당황하였지만 언제는 친절한 스위프트 튜토리얼이었나 생각하며 구글링을 통해 정리해 보려 한다. KeyPath syntax: \BaseType.PropertyName Base타입은 타입 추론에 의해 추론할 수 있는 경우 생략해서 \.propertyName과 같이 사용한다. KeyPath는 값에 대한 참조가 아닌 프로퍼티에 대한 참조이다. 말 그대로 어떤 타입의값에 대한 path를 표현한다. 변수는 KeyPath와 달리 값에 대한 참조를 하기 때문에 변수를 사용하면 값에 전근할 수 있다. KeyPath의 표현식은 \ (백슬래시) 로 시작한다. 예시 struct Person { var name: String } ..
보호되어 있는 글입니다.

시작하며 javascript라는 법이 없는 나라에서 온 나는 Swift의 @escape 키워드가 당황스럽고 또 놀랍다. @escape는 클로저를 인자로 전달받는 함수 내부에서 외부로 클로저를 전달하는 경우(비동기 등으로 클로저를 전달 받았을 때) 사용하는 키워드이다. 어떤 경우에 사용하는지 알아보자. escaping-closure and non-escaping-closure A closure is said to escape a function when the closure is passed as an argument to the function, but is called after the function returns. When you declare a function that takes a closur..