iOS: 데이터 관리 그리고 테이블 뷰, 네비게이션

Eden·2024년 10월 24일
0

iOS

목록 보기
6/18

데이터 관리, 테이블 뷰, 네비게이션
모두 iOS 개발에서 꼭 알아야하는 중요한 요소다.
잘 이해하고 활용하면 멋쨍이 개발자가 되어 멋찐 앱을 만들어 사용자에게 더 나은 경험을 줄 수 있을 것이다.

아쉽지만 아직 감자다.

포테이토 레지고



1. 데이터 관리 기초 📊

테이블 뷰의 데이터는 배열(Array), 딕셔너리(Dictionary) 같은 자료 구조로 관리된다. 보통 ViewController 안에 배열을 만들어서 테이블 뷰의 데이터를 채워 넣는다.

2. 테이블 뷰 📝

iOS에서 목록 형태의 데이터를 보여줄 때 많이 사용하는 UI
뉴스 앱의 기사 목록이나 연락처 앱의 리스트 등 여러 곳에서 볼 수 있다.

테이블 뷰의 기본 구조 🏗️

  • UITableView: 데이터를 나열하는 테이블 형태의 뷰. 스크롤이 가능한 목록을 만들 수 있다.
  • UITableViewCell: 테이블 뷰의 각 행(row)을 나타내는 셀. 셀은 재사용이 가능해서 성능이 좋아진다!

필수 용어 📚

  • DataSource: 테이블 뷰에 어떤 데이터가 표시될지 관리하는 역할. 쉽게 말해, 테이블 뷰가 몇 개의 데이터를 보여줄지와 각각의 셀에 어떤 내용을 넣을지를 정하는 것.
    • tableView(_:numberOfRowsInSection:): 섹션에 몇 개의 행이 있는지 알려주는 함수
    • tableView(_:cellForRowAt:): 각 행에 어떤 셀을 보여줄지 정하는 함수
  • Delegate: 테이블 뷰의 동작을 제어해요. 예를 들어, 사용자가 셀을 클릭했을 때 무슨 일이 일어날지, 셀의 높이는 어떻게 할지 같은 UI 관련 작업을 설정합.
  • Reuse Identifier: 셀을 재사용할 때 사용하는 식별자. 셀을 재사용하면 메모리 사용이 줄어들고 앱의 성능이 더 up됨.
  • Reuse Identifier: 셀을 재사용할 때 쓰는 식별자. 셀을 재사용하면 메모리 사용이 줄어들고 성능이 up됨.

테이블 뷰 구현의 기본 흐름 🔄

  1. UITableView를 스토리보드에 추가하거나 코드로 만들어요.
  2. UITableViewDataSourceUITableViewDelegate 프로토콜을 채택해요.
  3. 테이블 뷰의 dataSourcedelegate 속성을 설정해요.
  4. tableView(_:cellForRowAt:) 메서드에서 셀을 설정하고 데이터를 넣어요.

테이블 뷰 활용 팁 💡

  • 셀 재사용: dequeueReusableCell(withIdentifier:) 메서드를 사용해서 이미 만들어진 셀을 재사용해요. 이렇게 하면 성능이 훨씬 좋아져요.
  • 커스텀 셀: 기본 셀로 부족할 때 커스텀 셀을 만들어 사용할 수 있어요. 스토리보드에서 셀을 디자인하거나 UITableViewCell을 상속받아 코드를 통해 디자인할 수 있습니다.
  • 섹션 나누기: 데이터를 여러 그룹으로 나누고 싶다면 섹션을 사용할 수 있어요. numberOfSections(in:) 메서드를 사용해서 섹션 수를 지정할 수 있어요.

3. 네비게이션 및 화면 전환 🚀

iOS 앱에서 네비게이션(Navigation)은 여러 화면 간 이동을 관리하는 중요한 요소. 화면을 전환하면서 사용자 경험을 자연스럽게 만든다.

네비게이션 기본 요소 🔑

  • UINavigationController: 여러 화면(ViewController)을 스택 구조로 관리하는 컨트롤러예요. 화면을 쌓거나(push) 꺼내면서(pop) 순차적으로 이동할 수 있어요.
  • Segue: 스토리보드에서 화면을 전환할 때 사용하는 요소. 버튼을 눌렀을 때 다른 화면으로 넘어가도록 설정할 수 있다.
  • Modal Presentation: 화면을 모달 형식으로 표시해서 중요한 정보를 보여줄 때 사용. 전체 화면으로 표시하거나 일부 화면으로 표시할 수 있다.

화면 전환 구현 팁 🔀

  • 스토리보드 Segue 사용: 스토리보드에서 두 ViewController를 연결하면 쉽게 화면 전환을 설정할 수 있다.
  • 코드로 화면 전환: UINavigationControllerpushViewController(_:animated:) 메서드를 사용해서 코드로 화면을 전환할 수 있다. 모달 전환은 present(_:animated:completion:) 메서드를 사용
  • 데이터 전달: 화면을 전환할 때 데이터를 전달하려면 prepare(for:sender:) 메서드를 사용. 이 메서드에서 다음 화면에 데이터를 설정할 수 있따!



    어렵다!!!!!!! 괜차나 괜차나 잇츠오케이 뻄럠럠럠럠 ...
profile
🌐 Frontend &&  iOS && 대학생

0개의 댓글