swift(6)
-
framework not found CoreAudioTypes / AudioUnit 해결 방법
골치아픈 링크 에러가 뜬다. 위에서 AudioUnit.framework 와 CoreAudioTypes.framework 를 제거 하고 CoreAudio.framework 와 AudioToolbox.framework 가 추가되어 있는지 확인 한다. 해봤던거라도 다시 한번 해보세요..!!! 이후 빌드를 해보면 해결이 되거나.. 심볼을 못찾는 에러가 뜨거나. 사용중인 특정 함수를 못찾는 에러가 뜬다. 임포트 되어있나 확인하고 Static Library 로 바꿔줘 보세요..
2022.03.08 -
Swift - UICollectionView fixing center when rotate/landscape 방법
임시 메모 글입니다.(나중에 다듬을거예요..) 아래 코드를 이용하면 콜렉션뷰의 가로/세로 보기 전환 시 편하게 진행중이던 index 에 고정 됩니다. class RootPreviewVC: UIViewController { private lazy var collectionView: UICollectionView = { let collectionView = UICollectionView(frame: .zero, collectionViewLayout: collectionViewLayout) ... return collectionView }() private var prevIndexPathAtCenter: IndexPath? private var currentIndexPath: IndexPath? { let c..
2021.12.29 -
RxSwift 정리 3 - operators(.flatMap .flatMapLatest .materialize .dematerialize .share)
계속 해서 연산자 입니다. .flatMap() 모든 시퀸스를 하나의 시퀸스로 모아서 발생 시킨다. .flatMapLatest() 가장 마지막의 시퀸스로 발생 시킨다. .materialize(), .dematerialize() score 는 Int 이다. materialize() 를 붙여주면 RxSwift.Event 형태로 바꾸어 준다. ( ".next(1)" 이 찍힘 ) Error, Complete 등 이벤트를 확인 할 수 있다. .dematerialize() 를 붙여주면 다시 Int 로 바뀐다. ( 다시 "1" 이 찍힘 ) struct Student { var score: ReplaySubject } let A = Student(score: ReplaySubject.createUnbounded()) l..
2021.08.20 -
RxSwift 정리 2 - SubJect, operators(기본)
메모용 연산자는 너무너무도 많아서 새로운 연산자 마다 별도로 작성할 예정입니다. 여기서는 많이쓰는 기본적인것만 작성합니다. .ignoreElements().elementAt().filter().skip().skipWhile().skipUntil().take().takeWhile().takeLast().takeUntil().distinctUntilChanged().distinctUntilChanged().delay.buffer.throttle.debounce.toArray().map.enumerated() RxSwift의 장점 !! 비동기화 프로그래밍을 쉽고 강력하게 할 수 있다. Rx 가 붙은 다른 언어로 즉시 사용할 수 있다. RxSwift 작성 -> RxJava로 즉시 사용 가능 PublishSubj..
2021.08.20 -
RxSwift 정리 1 - Observable 생성
RxSwift 메모 용도 정리입니다. RxSwift Reactive Progreamming with Swift 책을 기준으로 작성되었습니다. Observable(sequence) 생성 let one = 1,two = 2,three = 3 1개요소만 생성 : .just() let observable1 = Observable.just(one,scheduler: MainScheduler.instance) scheduler: MainScheduler.instance 요소 생성시에도 스레드를 선택해줄수 있습니다. 종류는 다음에 설명, 여러 요소 생성 : .of() let observable2 = Observable.of(one,two,three) //Observable let observable3 = Observ..
2021.08.20 -
프로그래머스 - Swift algorithm 0, 1 배열에서 1 덩어리 찾기
가로 세로 2차원 배열에서 "0"과 "1"을 배열하고 "1"이 가로세로 연결되었을 때 한 묶음으로 간주하여 총 몇 묶음인가, 또 가장 많은 "1"이 연결된 수를 구하는 문제다. 이런 식이다. 좌, 우 끝부터 보면 8개의 "1" 이 연결되어 있고 좌, 아래는 3개, 우, 상에는 3개, 우/하에는 10개의 "1"이 연결되어 있다. 결과는 총 4덩어리고 제일 큰 덩어리는 10개라서 정답은 4,10을 구하는 문제였다. 알고보니 DFS, BFS라는 알고리즘이다. // 문제 입력 var maps : [[Int]] = [[1,1,0,1,1],[0,1,1,0,0],[0,0,0,0,0],[1,1,0,1,1],[1,0,1,1,1],[1,0,1,1,1]] print(DPS_algorithm(&maps)) // 체크할 X,Y..
2021.08.02