전체 글
-
Xcode doesn't support ..... {version number} 해결하기.카테고리 없음 2022. 10. 25. 14:37
실제 기기를 통해 Xcode project 를 실행시킬 때, 아래 메시지가 나오며 실행이 안되는 경우가 있다. Xcode 에서 해당 Version 에 대한 정보를 모르는 상황인데, 말 그대로 그 정보를 가져다 넣어주면 된다. 넣을 파일 받기 그 정보는 https://github.com/iGhibli/iOS-DeviceSupport 에 모두 있다. 파일을 Git 에서 받으면 이렇게 생긴 압축파일들이 생긴다. 넣어줘야하는 위치 terminal: cd /Applications/Xcode.app/Contents Applications -> Xcode 우클릭 -> Show Package Contents -> 우클릭 후 Contents 항목으로 들어간 후, Developer -> Platforms -> iPhone..
-
ReactorKit 에서 API 활용하기Swift/RxSwift 2022. 10. 15. 10:13
// 출처: https://nsios.tistory.com/141 (출처 코드를 일부 수정했습니다. ) 중요한 Code 1. Controller class APIPracticeController: UIViewController, View { var disposeBag = DisposeBag() func bind(reactor: MainReactor) { loadButton.rx.tap .map({ Reactor.Action.touchButton(index: 0) }) .bind(to: reactor.action) .disposed(by: disposeBag) reactor.state .map({$0.image}) .subscribe(onNext: {[weak self] img in guard let im..
-
XCode Workspace 내에 여러 Projects 만들기Swift/Tips & Tricks 2022. 10. 14. 22:31
XCode 로 코드를 다루다 보면 아래와 같은 구조가 필요할 때가 있다. 이렇게 구조를 짜놓으면, 1. 여러명이 작업하기도 편하고 2. 관련된 코드를 찾거나 3. 의존성도 필요한 곳에만 넣어주기 좋은 구조가 된다. 이제 어떻게 해당 구조를 만드는지 알아보자! 1. WorkSpace 만들기 CocoaPods 을 이용해서 만약 pod init 을 한 상태라면 WorkSpace 는 이미 만들어진 상태일 것이다. 그렇지 않은 경우라면, Xcode 상단 File -> New -> Workspace 를 눌러 추가해준다. MyWorkSpace 라고 이름을 지었다. 2. Projects 를 Workspace 내에 만들기 Workspace 를 만드는 과정과 유사하게, XCode 상단 File -> New -> Proje..
-
ReactorKit 으로 로그인 페이지 만들기Swift/RxSwift 2022. 10. 14. 01:58
Login Controller // // ViewController.swift // ReactorPractice // // Created by Mac mini on 2022/10/13. // import Foundation import UIKit import RxSwift import RxCocoa import Then import ReactorKit import RxViewController import RxGesture import SnapKit class ViewController: UIViewController, View { internal var disposeBag = DisposeBag() private let behaviorRelay = BehaviorRelay(value: ()) overr..
-
-
ReactorKitArchitecture + Design Pattern 2022. 10. 12. 01:03
ReactorKit 이란 ? 단방향 데이터 흐름을 가진 반응형 앱을 위한 Framework View: 사용자 입력을 받아서 Reactor 에 전달 (Action) Reactor로부터 받은 상태를 Rendering ViewController, Cell, Control 등을 모두 View 로 취급 protocol View { associatedtype Reactor var disposeBag: DisposeBag // self.reactor가 바뀌면 호출됨. func bind(reactor: Reactor) } Reactor View 에서 전달받은 Action 에 따라 로직 수행 상태를 관리하고 상태가 변경되면 View 에 전달 대부분의 View 는 대응되는 Reactor 를 가짐 protocol React..
-
Swift - Xcode 이상한 버그 모음집.. (Bug)카테고리 없음 2022. 10. 7. 22:13
1. NSAttributedString , .foregroundColor: UIColor.gray.cgColor 를 쓰다가 unrecognized selector sent to ... error 가 났다. 보통 cgColor 가 아닐 때는 빨간 Warning 으로 알려주는데 여기서는 알려주지도 않았다. 결론: .foregroundColor 는 UIColor 2. git merge 등 Branch 합칠 때 Build Version 이 다르면 merge Conflict 가 날 뿐만 아니라 XCode 내에서는 수정이 어렵다. 이럴때는 VSCode 등 다른 편집기로 '
-
Initialization카테고리 없음 2022. 10. 6. 23:56
Initialization 은 사용할 class, structure, enum 의 instance 를 준비하는 과정이다. 이 과정은 instance 의 각 stored property 을 설정하는 것과 다른 필요한 setup (or initialization) 을 시행하는 것을 포함한다. 이러한 initialization 은 initializers 를 정의함으로써 구현할 수 있다. Initializers 는 특정 type 의 새로운 instance 를 만드는 데 사용되는 특별한 methods 와 같다. Objective C 의 initializers 와는 다르게 Swift 의 initializer 는 값을 반환하지 않는다. 여기 initializers 의 주된 역할은 어떤 type 의 새로운 instan..