MyTodoList 앱 개발 (1)

ulls12·2023년 12월 19일
0

Swift TIL

목록 보기
18/60
post-thumbnail

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 구성 + 새로운 리스트 작성 기능만 부여하는데도 정말 하루종일 걸렸다. 개발의 속도는 매우 느리지만 점점 가속이 붙을거라 믿어 의심치 않는다. 내일도 힘내서 개발해보자

profile
I am 개발해요

0개의 댓글