본문 바로가기

전체 글148

[RxSwift] Operators - 변환(2) Observable이 배출한 항목들을 변환하는 연산자들 - Buffer, FlatMap, Groupby, map, scan, window 안녕하세요 ◠‿◠ 고고입니다. 1. Buffer Buffer — Observable로부터 정기적으로 항목들을 수집하고 묶음으로 만든 후에 묶음 안에 있는 항목들을 한번에 하나씩 배출하지 않고 수집된 묶음 단위로 배출한다 구현부 public func buffer(timeSpan: RxTimeInterval, count: Int, scheduler: SchedulerType) -> Observable { BufferTimeCount(source: self.asObservable(), timeSpan: timeSpan, count: count, scheduler: sched.. 2021. 11. 19.
[RxSwift] Opeators - 생성(1) 새로운 Observable을 만드는 연산자들 - Create, Deffered, Empty, Never, error, from, interval, just, range, repeat, start, timer 안녕하세요 ◠‿◠ 고고입니다. 1. Create Create — 직접적인 코드 구현을 통해 옵저버 메서드를 호출하여 Observable을 생성한다 구현부 public static func create(_ subscribe: @escaping (AnyObserver) -> Disposable) -> Observable { AnonymousObservable(subscribe) } 예시: let source : Observable = Observable.create { observer in for i i.. 2021. 11. 19.
[Swift] 2차원 배열 90도 회전 코드 안녕하세요 ◠‿◠ 고고입니다. // 2차원 배열 90도 회전하기 func rotate(a: [[Int]]) -> [[Int]] { let n = a.count // 행 길이 계산 let m = a[0].count // 열 길이 계산 var result = Array(repeating: Array(repeating: 0, count: m), count: n) for i in 0...n - 1 { for j in 0...m - 1 { result[j][n - i - 1] = a[i][j] } } return result } 2021. 11. 18.
[iOS] Carthage 전환 후기 안녕하세요 ◠‿◠ 고고입니다. 개인 프로젝트에서 의존성을 Swift Package Manager에서 Carthage로 전환한 후기입니다. SPM과 Cocoapods는 클린빌드를 할 때마다 모든 프레임워크를 빌드하여 많은 시간이 소요되지만, 프로젝트에 프레임워크들이 자동으로 연결됩니다. Carthage는 프레임워크를 빌드만 해줄 뿐, 프로젝트에 연결해주지 않습니다. 또한 클린빌드를 하여도 프레임워크를 다시 빌드하지 않습니다. 바꾼 후 장점 : 빌드 시간이 6~70초 정도 단축되었습니다. 클린 빌드를 두려움없이 사용할 수 있습니다. 바꾼 후 단점 : Carthage를 지원하지 않는 프레임워크들이 매우 많습니다. 저는 직접 carthage를 지원하게 설정해주어 깃허브에 올리고 사용했습니다. 만약 .framew.. 2021. 11. 18.
Cannot find protocol declaration for 'xxxDelegate' 안녕하세요 ◠‿◠ 고고입니다. Swift 코드에서 UNUserNotificationCenterDelegate를 상속하고 있었는데, objc 코드에서 자동 생성된 -Swift.h 코드를 import하면서 생긴 오류입니다. 오류 코드: 스택오버플로우를 뒤져보면 #import를 하란 말이 대부분이었습니다. -Swift.h의 밑줄이긴 하지만 #import를 했으니 문제없지 않을까? 했지만 다른 답변을 보니 순서가 중요하다고 하더군요. 혹시나 하고 UNUserNotificationCenterDelegate가 있는 UserNotifications.h를 임포트 하는 구문을 -Swift.h를 임포트하는 구문 위로 올려주었더니 오류가 해결되었습니다. 해결 코드: 2021. 11. 17.
[WWDC21] Meet Xcode Cloud 영상 :https://developer.apple.com/videos/play/wwdc2021/10267/ Meet Xcode Cloud - WWDC21 - Videos - Apple Developer Get to know Xcode Cloud, Apple's continuous integration and continuous delivery (CI/CD) service for building apps and frameworks for all... developer.apple.com 안녕하세요 ◠‿◠ 고고입니다. Xcode cloud는 Git을 사용하여 CI/CD를 할 수 있도록 해줍니다. Xcode cloud Overview 원격 깃 레포지토리에 변경사항이 생기면 빌드, 테스트 및 여러 액션들을 하고 .. 2021. 11. 10.