IOS 개발
-
[iOS_MyInventory] 상품등록, RxSwift 사용해 보기 - 2Project/[release] iOS - MyInventory 2020. 6. 18. 02:25
Subject BehaviorSubject : 디폴트값이 있음. 데이터가 발생하면 외부에서 그 데이터를 넣어줄 수 있고 subscribe 할 수도 있다 (다른애가 subscribe 할 수 있다 === observable) 외부에서 통제하는 Observable 을 만들어 낼때 사용. PublishSubject : 디폴트 값이 없음. 데이터가 발생하면 그때 subscribe 한 애들에게 전달 replay : subscribe 하면, 여태까지 발생했던 모든 데이터 전달 async : subject가 끝나는 시점에 전달이 됨 let idOb = BehaviorSubject = BehaviorSubject(value: "") subscribe() 발생한 데이터를 받을 수 있다 combine 옵저버블을 결합해서 하..
-
[iOS_MyInventory] 상품등록, RxSwift 사용해 보기Project/[release] iOS - MyInventory 2020. 6. 15. 01:12
RxSwift 상태값 변화를 관찰 혹은 비동기 프로그래밍을 위한 API. RxSwift 개념잡기에 도움되었던, 마기님 포스팅 https://magi82.github.io/ios-rxswift-01/ RxSwift 알아보기(ReactiveX 에 대해서) - 01 – 마기의 개발 블로그 – 즐겁게 개발을 하고 싶은 욕심 � 안녕하세요 마기입니다. 오랜만에 포스팅을 합니다. 그동안 여러 일로 정신이 없었습니다. 😭 다시 힘내서 자주 포스팅 할 예정입니다. 이번 시간에는 핫한 시기를 넘어서 반 필수적으로 알아�� magi82.github.io 정리 잘 되어있는 wade 님 브런치 https://brunch.co.kr/@tilltue/4 UICollectionViewCell { let cellType = self..
-
[iOS_MyInventory] 삽질의 흐름 - podfile 설정Project/[release] iOS - MyInventory 2020. 4. 2. 01:51
사건의 발단 iPhone 13.4 로 업데이트 -> Xcode 버전 업데이트 -> 프로젝트 실행 -> 에러에러에러에러 Module compiled with Swift 5.1.3 cannot be imported by the Swift 5.2 compiler: /Users/jsj/Downloads/realm-swift-4.3.2/examples/ios/swift-11.3/../../../ios/swift-11.3/RealmSwift.framework/Modules/RealmSwift.swiftmodule/x86_64-apple-ios-simulator.swiftmodule 위기 구글링...서치서치... .....프로젝트 클린..팟 지우기......팟 새로깔기... ..라이브러리 빌드셋팅 손대기...클린클린..
-
[iOS_MyInventory] Realm 적용 3 - todayExtensionProject/[release] iOS - MyInventory 2020. 3. 22. 14:49
todayExtension 을 적용하기위해 해야할 사항 - main 앱과 위젯이 데이터를 공유하기 위해서는 그룹아이디를 설정해야 한다. - 이 groupId 를 통하여, realm path 를 지정해 메인앱과 위젯이 같은 realmDB 를 불러오게 한다. groupId 를 생성하고, 이 아이디값을 상수로 저장하여 메인앱, 위젯에서 사용할 수 있게 했다. realm 초기화할때 주의할점 메인앱에서 realm 인스턴스 생성할때 적용한 config 옵션과, 동일한 조건을 적용해야 같은 RealmDB 를 불러 올 수 있는듯 하다. 예) 메인앱에서 migration 을 했다면, 위젯에서도 realm 초기화시 같은 조건을 추가해줘야 한다. let realmPath = FileManager.default .contai..
-
[iOS_MyInventory] Realm 적용 2 - Struct 와 같이 사용하기Project/[release] iOS - MyInventory 2020. 3. 21. 11:02
Realm 에서 지원하는 객체모델은 다음과 같이 class 형태로 작성을 해야한다. class Dog: Object { @objc dynamic var name = "" @objc dynamic var age = 0 } Realm 객체모델을 구조체로(struct) 사용하기 위해서는, struct RealmObject 를 맵핑하는 중간다리가 필요하다. 이를 Persistable 프로토콜이 담당한다. public protocol Persistable { associatedtype ManagedObject: RealmSwift.Object // RealmObject -> Struct 변환 init(managedObject: ManagedObject) // Struct -> RealmObject func man..
-
[iOS_MyInventory] Realm 적용 1 - ManagerClass 를 활용하기Project/[release] iOS - MyInventory 2020. 3. 20. 17:37
Realm Test Flow - 공식문서를 확인하여 Object 생성, 기본적인 CRUD 동작 확인 - Realm tutorial 을 통해 어떻게 활용하는지 확인 - 기존 프로젝트의 데이터는 struct model 로 생성되있으므로, RealmObject 를 struct 로 변환할수 있는지 확인, 테스트코드 작성 - TodayExtension 에서 메인앱에서 쓰고 있는 Realm을 가져올수 있는지 테스트 STEP_1 ) Realm 작업을 전용으로 하는 Class 를 통해 CRUD 테스트 해보기 우선 저장할 데이터의 Realm 객체 모델을 생성한다. id 는 사용자를 식별하기 위한 고유한 값으로, 전체 데이터수를 기반으로 1씩 올라간다. @objcMembers class RealmPerson: Object..