본문 바로가기

IOS49

[iOS] Compositional Layout & Sticky Header를 적용하면서(UIKit) 새로운 사이드 프로젝트의 MainPage의 뷰를 맡아서 구현해보려고 합니다. UIKit으로 구현해야할 뷰의 대략적인 모습은 아래와 같습니다. 가로 방향의 카드 리스트 형태의 뷰, 세로방향의 판매품목 리스트 형태의 뷰, 가로 방향의 유저 프로필 리스트 등의 다양한 특징을 가진 셀들이 하나의 리스트 뷰 안에 들어가야합니다. 또한 중간에 Sticky Header형태의 탭바가 들어가 있어서 해당 섹션의 리스트가 보일때 탭바는 스크롤시 사라지지 않고 상단에 유지되어야합니다. 처음엔 UIKit으로 구현하게 된다면 NestedScrollView로서 UITableView를 사용하였고 그 안에 각각의 셀의 뷰에 UICollectionView, TableView를 배치하여 구현하였습니다. 하지만 일반 TableView와 .. 2023. 3. 10.
[Error] Compiling for iOS 8.0, but module 'RxTest' has a minimum deployment target of iOS 9.0 https://stackoverflow.com/questions/66766825/compiling-for-ios-9-0-but-module-bsgridcollectionviewlayout-has-a-minimum-dep Compiling for iOS 9.0, but module 'BSGridCollectionViewLayout' has a minimum deployment target of iOS 10.0 I'm trying to build flutter app on IOS and i get this error: Compiling for iOS 9.0, but module 'BSGridCollectionViewLayout' has a minimum deployment target of iOS 10.0 .. 2023. 3. 7.
[iOS] Swinject를 적용해보면서... - 의존성 주입 Dependency Injection, Inversion 한창 Android를 공부할 당시 DI 라이브러리로 Hilt와 Koin 중에 무엇을 쓸지 고민했던 기억이 납니다. 제 사견으로 iOS에서는 보편적으로 쓰이고 유명한 DI라이브러리는 잘 못들어본 것 같습니다. 안드로이드가 상대적으로 자료가 더 많아서 그럴수도 있겠지만요. 그동안 싱글톤으로 DI Provider를 만들어서 처리해왔는데 이참에 알아보려합니다. 나름대로 주변 개발자 or 팔로우한 개발자 or 검색을 통해 알바본 바로는 Swinject가 많이 보이더군요. https://github.com/Swinject/Swinject GitHub - Swinject/Swinject: Dependency injection framework for Swift with iOS/macOS/Linux Dependency.. 2023. 1. 15.
[iOS] Swift retain Cycle 순환참조, weak, strong, unowned 궁금증 : unowned self, weak self 안 붙이면...? 동적으로 메모리를 할당할 때 (객체) 힙영역에 생성되고 필요 없을 경우 소거됩니다. 언어별 메모리 관리 방식 JAVA 자바는 가비지컬렉터를 이용해서 자동적으로 이 메모리를 관리하게 됩니다. 편리하지만 수시로 돌아가다보니 퍼포먼스에 영향을 줄 수 있습니다. C, C++ 직접 메모리 할당, 해제해주어야 함 Swift ARC (자동 참조 관리) 자동참조계수를 통해 추적하고 메모리 관리. 필요없는 인스턴스 메모리를 자동적으로 해제. (Count가 0이 되면 해제됨.) 자동참조 계수에 대한 예제 view변수에 MyView 인스턴스를 초기화 하였습니다. 이때 view는 Strong reference, 강한 참조를 가지며 MyView 인스턴스의 .. 2023. 1. 12.
[iOS] CoreData로 꼼꼬미 단어장 앱 만들기 Bidit앱 개발중 CoreData를 사용하여 다수의 최근 검색 키워드를 서버가 아닌 로컬에 저장하도록 하였습니다. 키워드만 저장하였고 시간이 촉박하다보니 더 깊게 공부하진 못하고 넘어가버렸었는데요. 최근 SwiftUI를 활용하여 꼼꼬미 단어장 앱 개발에 참여하고 있습니다. 아이디어를 제안해주신 분께서 단어 데이터를 항상 서버에 둘 필요는 없을 것 같다고 하셨고 이에 저는 단어장, 단어 데이터를 로컬에서 관리하기 위해 CoreData를 도입할 것을 제안하였습니다. Realm은 외부 라이브러리라는 점과 mainThread에서만 지원된다는 것때문에 망설여 졌고 CoreData는 Apple에서 자체 제공되는 프레임워크이기 때문에 선택하게 되었습니다. 그리고 이전에 한 번 적용은 해보았지만 제대로 정리해본적이 .. 2022. 12. 23.
[iOS] Rx 다시 정복(1) feat. Rx Study발표 - 에이젠 이전에도 Rx에 대해 포스팅한 적이 있습니다. 그때보다 더 쉽게 더 자세하게 간지러웠던 부분까지 다시 정리해보려고 합니다. CMC에서 알게된 iOS 개발자분들과(8기, 10기, 11기) 취업을 목표로 스터디를 시작하게 되었습니다. 주제는 세션마다 바꿀 예정이구요. 첫 주제는 RxSwift가 되었습니다. 프로젝트에 RxSwift를 적용해본 경험이 있던 제가 먼저 자연스럽게 첫 발표를 맡게 되었습니다. 막상 Rx가 처음이신 분들께 설명해보려고 하니 이전에 정리한 글과 공식문서의 설명은 마음에 들지 않더군요. ㅎㅎㅎ RxSwift는 반응형 프로그래밍 프레임워크라고 소개됩니다. 반응형 프로그래밍 패러다임. 반응형 프로그래밍을 가능하게 해주는 도구죠. 그리고 함수형 프로그래밍과 결합하여 더 반응성이 좋은 앱을 만.. 2022. 12. 19.
[iOS] arch x86_64 왜 쓰세요? CocoaPod 쓰다가 생긴 궁금증 - 에이젠 https://hongssup.tistory.com/34 신형 맥북 M1 칩 cocoapods 설치 _compatibility with M1 chip issue 큰맘먹고 맥북을 장만했는데, 신형 M1칩을 사용하면서 오류가 많은 것 같다. 아직 M1이랑 호환이 잘 안되나봐ㅠㅠㅠ 많은 사람들이 비슷한 문제를 겪고 있는 것을 확인. sudo gem install cocoapods 하면 hongssup.tistory.com M1 맥북에서 코코아팟으로 라이브러리 관리를 하다보면 자주 발생하는 문제가 있는데 위 블로그의 내용처럼 명령어 앞에 arch x86_64를 붙여서 해결하게 되죠. 그동안 기계적으로 사용하면서 신경쓰지 않았지만 갑자기 궁금해졌습니다. "arch -x86_64" 명령은 명령을 실행 중인 시스템의.. 2022. 12. 4.
728x90