분류 전체보기 333

[SLP 개발일지] 공개용

Day1 2022-11-07 [ 개발 내용 ] 1. 프로젝트 기본 세팅 (그룹, 뷰 생성 + 기본 Color Extension 세팅 + BaseVC/BaseView 생성 ... 등) 2. Onboarding (3pages) : CollectionView + Pagecontrol로 구성. [ 의문점 & 해결점 & 미해결된 부분 & 고려할 지점 ] Q. 디자인을 반영하는게 생각보다 어렵다. 모든 기기에 대응해야할건데, 과연 고정값으로 해결될 일인가? A. 고정값(절대적 수치)만 사용하는 거 아님. + 비율로도 해도 됨. 예를 들어 확인 버튼의 경우, 1) 여백을 16 고정값으로 잡거나, 2) 90% 의 너비로 하겠다. 이런식으로 사람마다 방법이 다름. 어떤 device 에서도 깨지지 않게 만든다. 는 대정의..

Section19 247) searchbar에서 검색 취소 클릭시 키보드 내리기

searchbar에서 검색 취소 클릭시 키보드 내리기 func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { //검색을 하다가 (text did change), searchbar 의 텍스트가 0이되는 때 (x 버튼 클릭시), 영구 core data에 있는 모든 데이터를 불러온다. if searchBar.text?.count == 0 { loadItems() DispatchQueue.main.async { searchBar.resignFirstResponder() //해당 라인은 foreground 에서 실행됨 } } } //CRUD 중에 R (READ) (Core Data) func loadItems(with request..

Section19. 252) Core Data Fundamental / CRUD

Section19. 252) Core Data Fundamental OOP World Core Data World Database World Class Entity Table Property Attribute Field 전체: Table, Class, Entity Attributes (property) Buyers Address Number Who to Invoice Walmart 702.S.W. Street, Bentonville.... 1-800-925-6278 sam@walmart.com Tesco .... Whole Foods ..... 행: NSManagedObject Table안에 들어있는 각각의 요소들은 Core Data. NSManagedObject의 예시: Item 의 title, don..

Section19. 249) CoreData

Section19. 249) CoreData 어떤 프로젝트를 만들다가, 음 프로젝트에 들어갈 데이터가 그다지 많지 않을거같은데? 하고서 UserDefaults로 하다가 ... 만약 데이터 양이 많이 들어가야되는구나 라고 깨닫게 되는 순간, 해당 프로젝트에서 처음부터 CoreData 체크표시 안했더라도 중간과정에서도 CoreData를 추가할 수 있다. 다음과 같은 방법으로 .. cmd+N 을 눌러 새로운 파일 생성하는 식으로 아래를 연다. 그리고 Data Model을 선택한다. 그리고 동시에, 현재 작업하고 있던 프로젝트 외에 새로운 프로젝트를 Core Data 를 체크한 상태로 생성한다. 거기에서 AppDelegate.swift 를 연 다음, 아래 부분을 복사해서 원래의 프로젝트 AppDelegate.s..

Section19. 248) 데이터베이스 소개

Method Use UserDefaults Quickly persist small bits of data e.g. top score, player nickname, music on/off Codable Flash freeze custom objects 마치 아이스크림을 plist로 얼렸다가 먹고싶을 때 꺼내먹는 느낌 Keychain Save small bits of data securely SQLite Persist large amounts of data and query it. Core Data Object-oriented database Realm (오픈소스 프레임워크) A faster and easier database solution. (coredata 보다 빠르다). 장치에서 데이터를 로컬로 유지

Section19. 246) NSCoder로 데이터 인코딩/디코딩(save & load)

Section19. 246) NSCoder로 데이터 인코딩/디코딩하기 iOS sandbox 방식을 이용해서 Documents에 많은 정보를 저장하고 불러오는 방식. 즉, documents -> Info.plist에 저장하는 방식으로 하는 방법임 (사용자 커스텀 및 다양, 많은 정보 저장할 때 이용하는 방법 중 하나) - NSCoder. (UserDefaults로는 소소한 정보만을 저장할 뿐 사용자 커스텀 등 방대한 정보를 저장하지는 말자.) 데이터를 인코딩한다? = 본질적으로 한 데이터 유형을 다른 데이터유형으로 변환하는 것. ex) 음악 -> Encoder -> 비닐디스크 ex) 비닐디스크 -> Decoder -> 음악 func saveItems() => 사용자 정의 개체의 배열을 plist에 쓸 수 ..

Debug with breakpoint

Debug with breakpoint self.itemArray.append(textField.text!) 전/후로 달라진 itemArray를 보고 싶은 경우 ?? 1) 전 breakpoint 찍고나서, 디버그창에다가 print itemArray 치면 현재의 itemArray를 보여줌 (3가지) 2) 후 breakpoint를 무시하고 그 다음줄까지 쭉 실행시켜보고 싶으면 step over (디버그창의 왼쪽에서 두번째) 를 클릭해서 실행시킨뒤 다시 print itemArray로 출력해보면 됨.

iOS Rxswift Subject

iOS Rxswift Subject Subject란? Observable 및 Observer 의 기능을 같이 하는 것 (구독subscribe도하고, 값도 전달이 가능) Subject : 2가지 기능 = subscribe, next Subject에는 4가지가 있다 1) publish 2) behavior 3) replay 4) async (거의 안씀) 따라서 위의 1,2,3을 제대로 공부할 것 1) vs 2) 초기값의 유무 1) publish - 초기값 X 2) behavior : 초기값이 필수. 구독 전에 가장 최근 값을 같이 emit. ex) placeholder, 테이블뷰 초기값 등 3) replay let replay = ReplaySubject.create(bufferSize: 3) //buffe..