일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Swift공부
- HIG
- Clean Architecture
- Algorithm
- 알고리즘 공부
- swift
- 파이썬 풀이
- UIKit
- 프로그래머스
- 정렬
- Til
- 백준 온라인 저지
- error
- 그리디 알고리즘
- 백준온라인저지
- ios
- 오토레이아웃
- Autolayout
- 앱개발
- 안드로이드 공부
- 공부
- Android
- Python
- iOS개발
- Kotlin
- 파이썬
- BFS
- dfs
- 알고리즘
- greedy algorithm
- Today
- Total
목록IOS App Programming/Swift (23)
Tori의 개발 공부
🛠 탐구 계기ReactorKit을 사용하면서 Action, Mutation 열거형(enum) 내부에서 case inputChanged(String) 처럼 괄호 안에 값이 들어가는 형태를 자주 보게 되었습니다.처음에는 단순한 문법이라고 생각했지만, “왜 case에 괄호가 붙을까?”라는 의문이 생겼고, 이를 계기로 Swift의 연관값(Associated Value) 개념을 알게 되었습니다. ✅ 내용 정리리액터킷의 형식 기반으로 정리하였으며, 열거형과 연관값의 내용이므로 리액터킷의 자세한 코드나 설명은 생략합니다.열거형(enum)의 기본 형태Swift에서 열거형은 다음과 같은 형태로 자주 사용됩니다:enum Direction { case up case down case left case..

알고리즘 문제를 풀다 보면 반복문을 반대로 돌려야 할 때가 종종 등장한다. 파이썬의 경우 for 문 안에 같이 적는 range에 step이 존재하여 큰 수부터 작은 수까지 step을 -1씩 하면 거꾸로 순회가 가능했다. 이와 같은 문법이 swift에서는 어떻게 작성해야하는지 찾아보았다. 또한 배열을 거꾸로 순회하는 경우에는 reversed() 함수를 사용해 뒤집으면 되는데 공식 문서를 읽어보던 중 reversed()와 reverse() 두가지 함수의 재밌는 차이점을 발견하여 같이 정리해볼까 한다. 연속되는 범위 거꾸로 순회하기 파이썬의 range의 step과 같은 역할을 해주는 swift 함수는 stride()이다. stride(from:to:by:) to를 포함하지 않음 stride(from:throu..

배열은 인덱스를 통해 빠른 접근이 가능하다. 하지만 인덱스 범위를 넘게 되면 런타임 에러가 발생해 앱을 강제 종료 시킬 수 있어 치명적이다. 프로젝트 진행 중 인덱스를 접근할 일이 많았고, 이는 위험성을 가지고 있기 때문에 멘토님께서 safe Index를 사용하는 방법을 권유하셨다. 따라서 앱에서 인덱스를 통한 접근이 필요할 시 subscript를 사용하여 안전하게 접근할 수 있는 방법을 간단하게 정리해 보겠다. extension Array { subscript (safe index: Int) -> Element? { return indices ~= index ? self[index] : nil } } indices는 Collection 타입의 유효범위를 나타낸다. 예를 들어 arr = [1,2,3] 일..
Struct VS Class 성능 비교 메모리 저장 Swift의 struct와 class의 차이는 메모리의 여러 영역 중 Stack과 Heap에 관련되어 있다. struct → Stack 할당 (정적 할당 : 컴파일 시 크기 결정) class → Heap 할당 (동적 할당 : 런타임 시 동적으로 할당됨) Stack은 정적 타입으로 간단한 자료구조 형태를 가지며 O(1)의 시간복잡도를 가지고 간단하게 할당 해제할 수 있는 반면에 Heap은 메모리에 연속적으로 존재하지 않아 복잡한 과정을 거쳐 할당 해제 시 비용이 스택보다 더 크다. Dispatch https://bang-tori.tistory.com/77 접근제한자 정리 및 성능 향상 이유 + final 제한자 프로젝트를 진행할 당시 적절한 접근제한자를 ..