TIL

52일차 TIL

h_luz 2024. 5. 10. 21:32

 

개인과제

 

UITabBarController

: 선택에 따라 표시할 하위 뷰 컨트롤러가 결정되는 다중 선택 인터페이스를 관리하는 컨테이너 뷰 컨트롤러

https://developer.apple.com/documentation/uikit/uitabbarcontroller

 

UITabBarController | Apple Developer Documentation

A container view controller that manages a multiselection interface, where the selection determines which child view controller to display.

developer.apple.com

1) TabBar 생성

    : UITabBarController를 사용하여 탭바를 생성

 

2) 각 탭에 대한 ViewController 인스턴스 생성

     : 각 탭에 표시할 화면에 해당하는 UIViewController 서브 클래스의 인스턴스를 생성

 

3) ViewController를 TabBarController에 추가

    : UITabBarControllerviewControllers 배열에 각 ViewController 인스턴스를 추가하여 탭 바에 연결

 

4) Window에 TabBarController 설정

    : UITabBarController 인스턴스를 생성하고, 앱의 UIWindowrootViewController로 설정하여 앱의 기본 뷰 계층 구조를 설정

 

* TabBar 꾸미기

tabBarController.seletedIndex 속성을 사용하여 처음에 표시할 탭의 인덱스를 설정

이 속성을 사용하면 배열에서 해당 인덱스에 해당하는 ViewController가 선택되어 해당 탭이 처음에 표시

 


Networking

1) fetchAPI 함수 생성 

    1) query : 검색에 사용할 쿼리 문자열 

    2) completion : 네트워크 요청 완료 시 호출

        - @escaping : 클로저는 네트워크 요청 완료 후에 실행, 네트워크 요청이 성공 시 성공한 데이터를, 실패 시 에러를 클로저로 전달

        - Delegate 패턴 : 프로토콜을 사용하여 네트워크 요청의 성공 또는 실패를 처리

2) URL 생성

3) URLRequest

4) URLSession 데이터 요청 (dataTask)

    : URLSession의 dataTask 메서드를 사용하여 네트워크 데이터 요청을 시작

5) JSON 데이터 처리 (JSONDecoder로 디코딩)

    ㄴ 네트워크 요청이 성공하면 성공한 데이터를 핸들러로 전달하고, 실패하면 에러를 핸들러로 전달

 

 


CoreData

 

shared

- 싱글톤 디자인 패턴

- 앱 전반에서 단일 인스턴스에 접근 가능(전역적 공유). 즉, 인스턴스를 각각 뷰컨트롤러에 생성해 줄 필요 없다

 

managedContext

- 관리 객체 컨텍스트 반환 (데이터를 읽고, 쓰는 데 사용)

 

NSEntityDescription

- 엔티티의 새로운 인스턴스 생성, 값 설정 ( managedContext를 통해 저장 -> managedContext.save() )

 

NSFetchRequest

- 엔티티의 모든 객체 요청 ( managedContext를 통해 반환 -> managedContext.fetch() )

    * 검색 기준을 설정하여 원하는 결과를 얻을 수도 있음 ( 특정 조건을 만족하는 객체들만 요청 가능 )

 

NSManagedObject 

- CoreData에서 관리되는 데이터의 인스턴스. CoreData의 컨텍스트에서콘텍스트에서 생성되고 저장되며, 변경된 내용은 콘텍스트에서 관리됨

 

NSBatchDeleteRequest

: 엔티티의 모든 객체 삭제. 대량의 데이터를 효율적으로 삭제하는 데 사용. (특정 조건을 만족하는 모든 객체를 한 번에 삭제 가능)

 

 


viewWiIlAppear()

: 해당 뷰가 뷰 계층 구조에 추가될 예정임을 뷰 컨트롤러에 알림. 즉, view가 화면에 나타나기 전에 호출되는 메서드

https://developer.apple.com/documentation/uikit/uiviewcontroller/1621510-viewwillappear

 

viewWillAppear(_:) | Apple Developer Documentation

Notifies the view controller that its view is about to be added to a view hierarchy.

developer.apple.com

 

 

 

 

'TIL' 카테고리의 다른 글

54일차 TIL  (4) 2024.05.14
53일차 TIL  (4) 2024.05.13
49일차 TIL  (4) 2024.05.07
48일차 TIL _codebaseUI  (2) 2024.05.03
46일차 TIL  (0) 2024.05.01