일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- struct
- uikit
- 구름톤 유니브
- 학과별커뮤니티
- collectionview
- 세종대학교
- 스트럭트
- 딕셔너리
- AppStore
- WeatherKit
- CS
- ios
- 대표
- 토이프로젝트
- 기초문법
- async
- 디자인 패턴
- 프로토콜
- 앱개발
- 협업
- 이론
- forEach
- MVVM
- swift
- 반응형
- 네트워크
- RxSwift
- 실습
- SwiftUI
- mvc
- Today
- Total
목록swift (51)
스윞한 개발자
이번 시간에는 다양한 고차함수! 기초 문법에 대해 정리해보았습니다 ㅎㅎ 옛날 포스팅에서 정리한 고차함수 뿐만 아니라 훨씬 많은 종류의 고차함수가 많더라구요 차근차근 다 정리해볼게요! reduce는 스위프트의 고차함수 중 하나로, 컬렉션(배열, 딕셔너리, 세트)의 요소들을 결합하거나 축소하여 하나의 결과값을 생성하는 함수입니다. 주로 초기값과 클로저를 활용하여 컬렉션 내의 요소들을 반복하면서 연산을 수행합니다. reduce 기본 형식 func reduce(_ initialResult: Result, _ nextPartialResult: (Result, Element) throws -> Result) rethrows -> Result initialResult : 연산의 초기값으로 사용될 값입니다. nextP..
이번 포스팅에서는 콜렉션에 대해 정리했습니다!! 스위프트에서 콜렉션을 합치는 방법은 다양한 메서드와 연산자를 사용하여 수행할 수 있습니다. 주로 배열과 딕셔너리를 합치는 경우에 많이 사용되며, 이를 통해 새로운 콜렉션을 생성하거나 기존 콜렉션을 수정할 수 있습니다. 배열 합치기 let array1 = [1, 2, 3] let array2 = [4, 5, 6] let concatenatedArray = array1 + array2 print(concatenatedArray) // 출력: [1, 2, 3, 4, 5, 6] var array1 = [1, 2, 3] let array2 = [4, 5, 6] array1.append(contentsOf: array2) print(array1) // 출력: [1, ..
이번 포스팅에서는 간단한 여러 Swift 기초 문법에 대해 정리해보겠습니다! Dictionary grouping 스위프트에서 딕셔너리 grouping 기능은 컬렉션 내의 항목을 특정 기준으로 그룹화하는 데 사용됩니다! 딕셔너리 grouping 함수는 새로운 딕셔너리를 생성하며, 각 그룹의 키는 지정된 기준에 따라 생성됩니다. let values = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] let groupedByEvenOdd = Dictionary(grouping: values, by: { $0 % 2 == 0 }) print(groupedByEvenOdd) 배열의 요소를 짝수와 홀수로 그룹화하여 새로운 딕셔너리를 생성합니다. 결과 [false: [1, 3, 5, 7, 9], true: ..
이번 기초문법 포스팅에서는 디자인패턴 빌더패턴에 대해 정리해보았습니다! 빌더 패턴은 객체 생성 과정을 추상화하고 복잡한 객체를 구축하기 위한 디자인 패턴 중 하나입니다. 이 패턴은 생성자의 매개변수가 많거나 복잡한 경우, 객체 생성을 더 편리하게 만들어주며 가독성을 높일 수 있는 방법을 제공합니다. 주로 복잡한 객체의 생성을 단순화하고, 객체의 속성을 설정하는 과정을 명확하게 하기 위해 사용됩니다. 빌더 패턴은 주로 객체의 생성이 복잡하거나 객체의 속성이 많을 때 사용됩니다. 예를 들어, 사용자 인터페이스를 구성하는 데 사용되는 객체, 데이터베이스 쿼리 객체, 또는 다양한 속성이 있는 그래픽 객체 등이 빌더 패턴을 활용할 수 있는 대표적인 예시입니다. Swift에서는 빌더 패턴을 구현하기 위해 프로토콜과..
이번 포스팅은 멀티트레일링 클로져! 입니다. 멀티트레일링 클로저(Multi-trailing Closure)는 Swift에서 클로저가 함수의 마지막 매개변수로 전달될 때 사용되는 문법적인 편의성을 제공합니다. 이를 사용하면 코드의 가독성을 향상시킬 수 있습니다. 멀티트레일링 클로저는 함수 호출 시 클로저의 중괄호를 괄호 밖으로 빼내어 사용하는 것을 의미합니다. func someFunction(completion: () -> Void) { // 함수 구현 completion() } // 클로저를 전달할 때 중괄호를 괄호 안에 두는 경우 someFunction { // 클로저 구현 } 일반적인 클로저 전달 방법은 위와 같습니다. 하지만 멀티트레일링 클로저를 사용하면 클로저를 괄호 밖으로 뺄 수 있습니다! 멀티..
이번 포스팅에서는 코더블에 대해서 포스팅 해보겠습니다! Codable은 Swift에서 데이터를 쉽게 인코딩(직렬화)하고 디코딩(역직렬화)할 수 있게 해주는 프로토콜입니다. Codable은 Encodable과 Decodable 프로토콜을 함께 묶은 것입니다. 즉, Codable을 채택한 타입은 데이터를 JSON 또는 다른 형식으로 인코딩하거나 디코딩할 수 있습니다! Codable을 채택한 타입은 JSON, Property List 및 다른 형식의 데이터를 쉽게 변환하고 다룰 수 있습니다. Codable을 채택하는 방법: 타입을 Codable로 만들려면 해당 타입의 프로퍼티들이 Encodable 및 Decodable 프로토콜을 따라야 합니다. 1. Encodable Encodable은 타입을 인코딩할 수 있..
이번 포스팅에서는 getter 접근자, setter 설정자에 대해 정리해보았습니다! 접근자/설정자란? Swift에서는 프로퍼티의 값을 읽거나 설정하기 위해 **Getter(접근자)**와 **Setter(설정자)**를 사용합니다. 이들은 프로퍼티의 값을 가져오거나 설정하는데 사용되는 메서드이며, 일반적으로 계산 프로퍼티나 프로퍼티 감시자에서 자주 활용됩니다!! 스위프트에서의 getter와 setter는 프로퍼티 값을 가져오거나 설정하는 데 사용되는 메커니즘입니다. 프로퍼티에 대한 접근을 더 유연하게 제어하고, 값이 설정되거나 가져올 때 추가 작업을 수행할 수 있는 기회를 제공합니다. 1. Getter(접근자) Getter는 프로퍼티의 값을 반환하는 역할을 합니다. Getter를 정의하지 않으면 자동으로 기..
이번 포스팅은 의존성 주입에 대해 정리해볼게요! 의존성 주입(DI)은 소프트웨어 디자인 패턴 중 하나로, 컴포넌트 간의 의존 관계를 느슨하게 결합시키기 위해 사용되는 기법입니다. 의존성(Dependency) 하나의 클래스나 모듈이 다른 클래스나 모듈의 기능을 사용하거나 의존하는 경우 해당 클래스나 모듈은 의존성을 가지고 있습니다. 이러한 의존성은 주로 객체 생성, 데이터 처리, 외부 서비스 액세스 등의 작업을 포함할 수 있습니다. 예를 들어, 클래스 A가 클래스 B의 메서드나 속성을 사용한다면 A는 B에 의존하고 있습니다. 주입(Injection) 의존성을 주입한다는 것은 외부에서 해당 의존성을 제공하여 객체 내부에 직접 생성하는 것이 아니라, 외부에서 주입된 의존성을 사용하도록 하는 것을 의미합니다. ..