[Xcode, Swift] 테이블 뷰 사용법 (UITableView)
목록을 보여줄 때 사용됩니다.
스토리보드에서 + , Table View를 드래그 앤 드롭

도큐먼트 아웃라인 사용법:
스토리보드 왼쪽에 있는 트리구조입니다.

드래그앤 드롭해서 코드 작성도 가능하고
책에서 하라는 대로 테이블 뷰 셀을 추가하고 거기에 레이블을 드래그했습니다.
[테이블뷰셀 TableViewCell 사용법]
테이블뷰셀을 제어할 클래스가 필요하다.
클래스 만들기,
프로젝트 네비게이터에서 HelloWorld 폴더에서 마우스 우클릭을 한다.-> New File


파일명은 TableViewCell

테이블뷰셀파일에 UIKit
어차피 UIkit 프레임워크가 Foundation 프레임워크를 포함하고 있으므로 기존 코드를 삭제하고 UIKit에 대한 Import 만 해준다.
코드를 작성했다면 스토리보드에있는 테이블뷰셀을 해당 클래스로 연결해주는 작업을 해줍니다.
메인스토리보드의 도큐먼트 아웃라인에서 테이블뷰셀을 찾아 identifier에 TableViewCell을 입력해줍니다.(커스텀클래스와 동일한 이름 사용)

도큐먼트 아웃라인에서 TableViewCell 선택후, 오른쪽의 Identity Inspector선택

Table Viw Cell 파일에 Content View 아래의 label ctrl 드래그앤 드롭하여 코드 작성
++
하..계속 연결안돼서 찾아보니
TableView 안에 TableViewCell을 넣고 TableView를 일단 viewController에 드래그앤드롭하는거더군요

나머지는 위처럼 TableViewCell.swift파일생성해주고 label 연결


트리구조 생각하고 해야하네요..
이제야 연결됨
ViewController.swift에서 테이블뷰에 내용을 표시하겠습니다.
테이블뷰에 내용을 표시하기위해서 델리게이트 패턴과 프로토콜 개념이 필요합니다.
테이블뷰에대한 처리는 델리게이트 패턴으로 구성되어있는데
메소드는 프로토콜로 구성되어있음
프로토콜들은 상속받은 UIViewController 옆에 쉼표,를 붙이고 나열하면 됨.

메소드들을 아직 선언하지 않았기 때문에 바로 오류표시가 뜹니다.
UITableView를 위해 작성되어야 할 최소한의 메소드는 세개

첫번째 메소드 설명 : 테이블뷰에서 표현되어야 할 행의 수, Int형으로 반환해줌.
두번째 메소드 : 테이블뷰에서 보여질 각 행의 내용
세번째 메소드 : 테이블뷰에서 어떤 행을 탭했을 때 실행될 메소드, 반환값은 없음. indexPath의 이름으로 어떤 행이 탭되었는지 정보가 들어있음
**
테이블뷰에 내용을 표시하려면?
1. 스토리보드의 테이블뷰를 소스코드와 연결
2.테이블에 표시될 내용을 정의(보통 배열)
3.추가된 테이블뷰에 델리게이트와 데이터소스를 연결
4.메소드 구현
어떤 앱을 제작하건 테이블뷰를 한 번쯤은 사용하게된다.

이제 메소드들을 작성할게요.

for문에서 10까지 반복한다고 썼으니 10개의 요소를 갖고있어요.

테이블에서 보여지는 내용을 정의함.
**
dequeueReusableCell()
ios는 테이블의 내용을 표시하기 위해 항상 모든 내용을 연산해서 보여주는 것이 아닌 재사용의 형태를 갖게됩니다.
테이블뷰는 화면에 표시된 내용은 재사용을 위한 목록으로 저장하고 있다가 해당 행이 다시 표시될 때는 저장되어있던 내용을 보여줍니다.이때 사용하는 메소드.
재사용을 위한 내용이 있을 경우 그 내용을 전달받고 그렇지 않다면 새로 작성
전달받은 내용을 TableViewCell클래스로 형 변환을하고 전달되는 withIdentifier:"TableViewCell"값은 스토리보드 작성 시 애트리뷰트 인스펙터의 identifier값을 입력함.
(대부분은 기억하기쉽게 클래스이름과 애트리뷰트 인스펙터의 identifier값을 동일하게 설정해놓음)
TableViewCell로 형 변환을 한 후에 그안에 이미 스토리보드에서 연결해놓은 lblNo의 text에 표시하고자하는 값을 넣음
예제에서는 배열의 값을 내용에 표시함.
indexPath.row는 형태 화면에 보이는 테이블뷰의 행 번호
정수형 배열에 들어있는 text에 표현하기 위해서 String()으로 해당 값을 문자열 타입을 ㅗ형 변환을 해주고 return cell을 이용해 연산이 끝난 인스턴스를 반환하게 됨

완성