Xcode로 Swift 언어를 이용하여 Storyboard로 앱을 개발해보려고 한다.
TableviewController 사용하기
- 먼저 스토리보드에 있던 Main.storyboard에 기본으로 있는 Scene 과 ViewController을 삭제시키고 새로운 Scene인 Table view controller을 추가시켰다. 그리고 새로운 파일 타입을 코코아터치로 만들어 TableviewController.swift 파일을 추가시킨 후 스토리보드와 코드를 연결시켜 줬다.
- 샘플 데이터를 만들기 위해 새로운 Swift 파일에 새로운 클래스를 생성했고 그 데이터를 Cell과 이어지게 tableViewController 파일에 있는 tableView 함수를 새롭게 짜주었다.
override func tableView(_ tableView: UITableView, nnumberOfRowsInSection section: Int) -> Int { return Todo.dummyTodoList.count } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdntifier: "cell", for:indexPath) let target = Todo.dummyTodoList[indexPath.row] cell.textLabel?.text = target.content cell.detailTextLabel?.text = "\(target.insertDate)" return cell }
- 문제는 이렇게 cell 구현 코드를 만들었는데 실제로 빌드를 해보면 더미데이터가 입력이 되지 않는다는 것이다. 벌써 2시간 넘게 고민중이지만 해결이 되지 않고 하루가 끝날 줄 알았다. 그러나 해결이 되었다
override func numberOfSections(in tableView: UITableView) -> Int { return 0 }
테이블뷰의 섹션값을 0으로 해놓으면 아무리 더미 데이터 값을 코드로 다 짜놔도 실제로 빌드를 하면 0이기 때문에 보이지 않았던 것이다. 리턴 값을 1로 바꿔주거나 이 함수 자체를 제거하기만 하더라도 일단 빌드까진 문제가 없어보였다.
기본적인 UI 구성 + 새로운 리스트 작성 기능만 부여하는데도 정말 하루종일 걸렸다. 개발의 속도는 매우 느리지만 점점 가속이 붙을거라 믿어 의심치 않는다. 내일도 힘내서 개발해보자