Codable 인스턴스를 다른 데이터 형태로 변환하고 그 반대의 역할을 수행하는 방법을 제공합니다. 스위프트의 인스턴스를 다른 데이터 형태로 변환할 수 있는 기능을 Encodable 프로토콜로 표현하였고, 그 반대의 역할을 할 수 있는 기능을 Decodable로 표현해 두었습니다. 그 둘을 합한 타입을 Codable로 정의해 두었습니다. .. 왔? 일단 안을 들여다 보면 두 프로토콜 Decodable, Encodable 을 동시 채택하는 프로토콜... 입니다. 일단 Encoding, Decoding 용어에 대해서 먼저 살펴보겠습니다. 불라불라를 스위프트 타입의 인스턴스로 변환해 주는 것이 Decoding, 그 반대가 Encoding 입니다. 일단 예제를 통해 확인해 보지요 struct Student: C..
전 포스팅에서 화면전환에 대해서 살짝 다뤘었는데요 (모달 present, 네비게이션 push) 이번 포스팅에서도 화면전환에 대해서 다루려고 합니다 ! Segue (세그) Segue는 스토리보드에서 뷰 컨트롤러 사이의 화면전환을 위해 사용하는 객체입니다. 기존에 제가 보였드렸던 방식은 거의 코드로 (present, push) 했었는데 Segue의 경우 별도의 코드 없이도 스토리보드에서 세그를 연결하여 뷰 컨트롤러 사이의 화면전환을 구현할 수 있습니다. UIStoryboardSegue Class UIStoryboardSegue 클래스는 UIKit에서 사용할 수 있는 표준 화면전환을 위한 프로퍼티와 메서드를 포함하고 있습니다. UIViewController의 performSegue(withIdentifier:..
이번 포스팅에서는 셀의 재사용을 알아보고 또 다시 UITableView 를 이리저리 가지고 노는 실습을 진행해 보겠습니다. 뷰의 재사용 iOS 환경에서 뷰를 재사용하는 애들은 대표적으로 저희가 다룰 UITableView와 UICollectionView 가 있습니다. 작동 방식 테이블뷰 및 컬렉션뷰에서 셀을 표시하기 위해 데이터 소스에 뷰(셀) 인스턴스를 요청합니다. 데이터 소스는 요청마다 새로운 셀을 만드는 대신 재사용 큐 (Reuse Queue)에 재사용을 위해 대기하고있는 셀이 있는지 확인 후 있으면 그 셀에 새로운 데이터를 설정하고, 없으면 새로운 셀을 생성합니다. 테이블뷰 및 컬렉션뷰는 데이터 소스가 셀을 반환하면 화면에 표시합니다. 사용자가 스크롤을 하게 되면 일부 셀들이 화면 밖으로 사라지면서..
이론을 어느 정도 톺아 보았으니 테이블 뷰를 이리 저리 마구 잡이로 가지고 놀아 보겠습니다. 포켓몬 도감? 만들기 ... 네 도감을 만들어 보려 합니다 ㅎㅅㅎ 구성 UITableView 셀 추가 버튼 3개 (오박사, 메타몽, 꼬부기) DoctorCell (오박사), MonsterCell (메타몽, 꼬부기) 동작 버튼에 따라 서로 다른 Cell이 추가됩니다 editing 모드로 cell 삭제를 합니다 먼저 사용될 UIViewController에 UITableView를 뷰전체 사이즈로 추가합니다. UITableViewCell 하나를 추가한 뒤 Style을 Basic으로, Identifier를 "DoctorCell"로 지정해줍니다. UITableView안에 Stack뷰를 하나 추가한 뒤 3개의 버튼을 추가해줍..
UITableView 테이블뷰는 iOS 애플리케이션에서 많이 활용하는 사용자 인터페이스입니다. 테이블뷰는 리스트 형태를 지니고 있으며 스크롤이 가능해 많은 정보를 보여 줄 수 있습니다. 테이블 뷰 기본 형태 UITableView 에는 3대 요소가 있습니다. 차근차근 하나씩 알아보겠습니다. UITableViewCell 구조 기본적으로 테이블뷰 셀은 크게 콘텐츠 영역과 액세서리뷰 영역으로 구조가 나뉩니다. 콘텐츠 영역: 셀의 왼쪽 부분에는 주로 문자열, 이미지 혹은 고유 식별자 등이 입력됩니다. 액세서리뷰 영역: 셀의 오른쪽 작은 부분은 액세서리뷰로 상세보기, 재정렬, 스위치 등과 같은 컨트롤 객체가 위치합니다. 테이블뷰를 편집 모드(Editing Mode)로 전환하면 아래와 같은 구조로 바뀝니다. 편집 컨..