- 테이블 뷰 : 여러 아이템을 리스트 형식으로 보여줄 때 사용한다. - 테이블뷰 서비스를 사용하기 위해 해야할 일(protocol) 1. 테이블뷰에서 몇 개의 셀을 보여줄지 (UITableViewDataSource) 2. 어떤 방식으로 보여줄지 (UITableViewDataSource) 3. 셀을 클릭하면 어떤 이벤트가 일어나는지 (UITableViewDelegate) UITableViewDataSource 프로토콜을 명시하면 ViewController안에 func tableView가 생긴다. UITableViewDelegate 프로토콜을 위한 func tableView를 만든다. 이후, 스토리보드에서 프로토콜을 연결시켜준다.
상속을 받은 클래스에서 생성자를 만들 때는, 부모의 생성자를 호출시켜야 한다. * 2-phase Initialization : 클래스 생성시의 두 단계 -> 보다 안정적인 코드를 작성하기 위해 지켜야 한다. phase1. 모든 property는 initialized 되어야 한다. (init할 때, 자식에게만 있는 sports를 먼저 지정해준 뒤 부모 init을 호출시킨다.) phase2. phase1을 모두 끝낸 뒤에야 property와 method의 사용이 가능해진다. - designated Initializer : 주 initializer - convenience Initializer : 부 initializer (initializer가 너무 길때 유용하게 사용 가능 + 원하는 것만 딱 받아서 사용이..
Inheritance : 클래스의 공통 된 부분은 최대한 재활용하기 위한 방법 Person : Super Class (Parent Class) Student : Sub Class (Child Class) * 상속의 규칙 1. 자식은 한개의 suer class만 상속 받는다. 2. 부모는 여러 자식들을 가질 수 있다. 3. 상속의 깊이는 상관이 없다. (할머니 클래스도 생성가능) * 상속을 사용할 때 필요한 고려사항 Single Responsibility (단일책임) : 클래스는 최대한 한가지 일에만 집중한다. (골기퍼는 골 막는거만 생각한다) Type Safety (타입이 분명해야 할 때) : 개발타입 - 웹개발 클래스, 모바일 클래스 이런식으로 딱딱 타입이 있을 때 Shared Base Classes ..