iOS 개발/CoreData

[Core Data] TableView와 Navgation Cotroller을 임베디드 하기

스닥 2021. 9. 7. 16:34

 


 

2 . TableView를 만들고, Navgation Cotroller을 임베디드 하기

 

 

잠시 CoreData를 떠나서 View와 Controller에만 집중해보는 시간이다.

 

 

조금 더 자세히 이야기하자면, 우리는 TableViewController를 만들어서 TableView를 이용할 건데, 각 Cell에 우리가 만들었던 Attribute들을 Cell에 표시해보기 위해서 TableView 를 이용할 것이다.

 

또한 add Button 을 넣기 위해 Navigation Controller 또한 임베드 할 것이다.

 

 

 

일단 ViewController.swift를 삭제한다. 우리는 이게 필요없다.

 

 

그 다음, StroyBoard에서 ViewController Scene 이것도 삭제해준다.

그럼 텅빈 화면만 남게 될 것이다.

 

 

 

 

 

그런 다음, 다음과 같이 TableViewController를 stroyBoard 창에 만들어준다.

 

조심하자. TableView가 아니라 TableViewController다.

 

 

 

 

그 다음에 파일을 하나 만들어주자.

 

 

다음과 같이 Cocoa Touch Class 로 만들어주고, CategoryViewController라는 이름으로 만들고,

UITableViewController 을 SubClass로 설정해준다.

 

 

 

 

 

 

만들어진 파일을 열어보면, 함수랑 주석들 투성이일 텐데, 나는 viewDidLoad 함수 빼고는 다 지우고 처음부터 만든다.

그리고 CoreData를 import 해주자

 

 

import UIKit
import CoreData

class CategoryViewController: UITableViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

    }

}

 

 

 

 

이제 만든 CategoryViewController.swift 파일을 StroyBoard의 TableViewController와 연결해주어야 한다.

 

다음과 같이, Custom Class를 통해 연결해줄 수 있다.

 

 

 

 

 

그리고 현재 앱을 실행했을 때, 어떤 앱을 먼저 실행할 것인지에 대한 Entry Point가 없는 상황이기 때문에,

Controller의 Attributes inspector 항목에서 "is Initial View Controller" 항목에 체크를 해서, 이게 첫 화면임을 알려준다!

 

 

 

 

 

그리고 TableViewCell의 indentifier을 CategoryCell로 변경해준다.

이 작업을 통해 우리는 CategoryCell 이라는 indentifier로 Cell 을 다룰 수 있다.

 

 

 

 

 

마지막으로?

음... 슬프게도... 준비과정의 마지막이다.

 

Editor - Embed In - Navigation Controller 을 선택하여, Navigation 을 활성화시켜준다.

이를 통해, 우리는 Navigation Bar을 이용해서 그곳에 Back 버튼이나 Add 버튼등을 넣을 수 있다.

 

 

 

 

 

예를 들면, 이렇게 Navigation item에 Title도 넣어줄 수 있다!!

넣어줘보자.

 

 

 

 

 

이렇게 되면, TableViewController 준비가 끝났다!!

 

 

 

 

이제 시작해볼까?