| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- dfs
- 오토레이아웃
- Python
- 그리디 알고리즘
- error
- BFS
- iOS개발
- 프로그래머스
- Autolayout
- Algorithm
- Til
- 백준온라인저지
- 정렬
- 알고리즘 공부
- Clean Architecture
- 백준 온라인 저지
- Swift공부
- ios
- 공부
- 알고리즘
- Android
- 파이썬
- Kotlin
- 앱개발
- swift
- 안드로이드 공부
- 파이썬 풀이
- UIKit
- HIG
- greedy algorithm
- Today
- Total
목록IOS App Programming (53)
Tori의 개발 공부
워치앱을 개발하면서 워치와 iOS앱의 데이터를 연동해야 하는 상황이었다. 위젯의 경우 UserDefaults와 같은 데이터를 AppGroup을 통해 데이터를 공유하여 연동할 수 있었기에 워치도 이와 같은 방법으로 구현할 수 있으리라 생각하고 쉽게 생각하였다. 하지만 워치의 경우 iOS App의 Data Store 부분과 Watch App의 Data Store 부분이 완전히 분리되어 있어 위젯처럼 데이터 공유를 할 수 없다. 따라서 다른 방법을 이용해서 iOS와 워치 간의 데이터를 동기화시킬 수 있도록 해야헀다. 그 방법이 바로 Watch Connectivity이다. Watch Connectivity iOS 앱과 페어링 된 watchOS 앱 간의 양방향 통신을 구현합니다. - 공식문서 Watch Conne..
Project 시작하기 1. widget Extension 추가 (file - new - target) 2. Info.plist 에 Supports Live Activities 추가 후 값은 Yes로 변경 LiveActivity 구현 LiveActivity 파일 살펴보기 구성을 살펴보면 다음과 같다. 처음에 살펴보면 이게 뭔가 싶다. 아직도 난 이게 뭔가 싶다. 일단 두 개의 구조체 확인 가능하다. ActivityKitWidgetAttributes: 사용될 프로퍼티들 정의 ActivityKitWidgetLiveActivity: 보일 뷰 정의 ActivityKitWidgetAttributes ActivityKitWidgetAttributes : 정적 프로퍼티 (변화하지 않는 값) - name Activit..
알고리즘 문제를 풀다 보면 반복문을 반대로 돌려야 할 때가 종종 등장한다. 파이썬의 경우 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] 일..