tableView.reloadData() 테이블뷰를 사용하다보면 셀의 데이터가 바뀔 때가 있음. 예를 들어, 버튼을 눌렀을 때 셀을 추가하는 등의 액션이 있는데 reload를 해주지않으면 반영되지 않음. 그래서 tableView.reloadData() 메서드를 꼭 실행해야함. 하지만 데이터가 바뀔때마다 reloadData()를 이용해서 모든 데이터를 갱신할 필요가 없을 수도 있음. -> reloadSections나 reloadRows를 이용하면 특정 셀, 특정 섹션만 갱신할 수 있음. TableViewCell Reuse mechanism 테이블뷰가 스크롤되면서 위의 셀이 사라지면 사라지는 셀은 queue로 들어가고, queue에 있는 셀이 올라와 보여지게되는 구조. -> 이미 할당된 메모리의 셀을 재사용..
수업때 배운 익스텐션과 열거형을 이용해서 이전에 했던 과제 코드를 수정해보았음. 기존에 case만 있던 enum을 다음과 같이 수정했음. caseIterable을 채택하여 배열처럼 사용 가능하도록 함. enum ButtonTag: Int, CaseIterable { case first, second, third, fourth, fifth, sixth, seventh, eighth, ninth var tagLabel: String { switch self { case .first: return "행복해 " case .second: return "사랑해 " case .third: return "좋아해 " case .fourth: return "당황해 " case .fifth: return "속상해 " cas..
새싹 프로그램에서 잭님께 받은 피드백 정리 및 코드 수정 감정 다이어리 1. 열거형을 Int로 채택한 경우 rawValue가 0부터 지정되므로 따로 선언하지 않아도 된다. 수정 전 enum ButtonTag: Int { case first = 0 case second = 1 case third = 2 case fourth = 3 case fifth = 4 case sixth = 5 case seventh = 6 case eighth = 7 case ninth = 8 } 수정 후 enum ButtonTag: Int { case first case second case third case fourth case fifth case sixth case seventh case eighth case ninth } ..
UITableViewController vs UIViewController에 tableView 추가 -> UITableViewController는 루트뷰가 테이블뷰이지만, UIViewController는 UIView -> 겉보기에는 차이가 없음 -> 화면에 테이블뷰만 들어있을때는 UITableViewController가 디자인하기 더 편하지만, 화면을 자유롭게 구성하고싶다면 UIViewController에 테이블뷰를 추가하는게 더 나음 -> Connection inspector를 보면 UITableViewController는 dataSource와 delegate가 자동으로 연결되어있고 tableView가 지울 수 없는 요소이지만, UIViewController에 테이블뷰를 추가하면 따로 dataSourc..
감정 다이어리 기능 추가 현재의 값을 UserDefaults를 이용해 저장 reset버튼을 이용해 전체 초기화 처음에 분명 UserDefaults로 알맞게 값을 저장해줬는데 제대로 반영이 안됐었음 -> 문제는 없었음. 다만 UserDefaults가 반영되기위한 시간이 더 필요했던거임. DatePicker 최소 크기 iPhone 8Plus 기기에서 전체 화면 height의 0.4정도로 설정하면, DatePicker가 inline인 경우에 시간을 설정하는 부분이 잘림. -> 비율로 설정하는 경우 최소 0.5는 되어야할듯. DateFormatter()를 이용해 string -> date로 바꾸기 dateFormat을 string형식으로 저장된 날짜 형식과 똑같이 작성해주어야함. (해결하는데 오래걸렸음ㅠ) 위처..
- Total
- Today
- Yesterday