Storyboard에서 TableView 사용

7579 단어 UITableViewSwiftiOS

고민하다

UITableView 사용할 때 종아리 발 덕분에Delegate 구현과 UItable View Controller 등
항상 아래의 일을 생각하고 있다.

  • 나는 실시하고 싶다UITableViewDataSource, 만지고 싶다UITableViewUITableViewController가 아니다.
  • 실질적으로는
  • UITableViewDataSource의 코드만 쓴다.
  • 분할하고 싶어
  • 이상해.마땅히 있어야 할 물건은 반드시 있어야 할 곳으로 돌아가야 한다.
  • 분할하고 싶은 분할
  • 가까스로 UITableViewDataSourceUIViewController에서 분리한 결과 initdataSource 생성 실례의 맞춤형 클래스UIViewController에 불과했다.
  • 이렇게 쓸모없는 반은 반드시 지워야 한다.
  • 지우고 싶어 지우고 싶어
  • 그러니 스토리보드에 아웃렛을 잘 붙이고 필요한 반에서 TableView를 사용하자.

    절차.


    프로젝트 작성

  • 단일 보기 항목 만들기
  • TableView 구성


  • 열기Main.storyboard, 기본값ViewController에서 구성TableView

  • TableViewCell 구성

  • TableViewTableViewCell를 추가합니다.
  • cell의Identifier에 설정cell

  • UItable ViewDataSource 구현


  • 사용자 정의 클래스UITableViewDataSource를 구현한 NSObject 만들기
  • 예를 들어 8시, 9시, 10시는 각각 15분 단위로 출력된다.
    
    import UIKit
    
    class DataSource: NSObject, UITableViewDataSource {
        let sections = [8, 9, 10]
        let rows = [0, 15, 30, 45]
    
        func numberOfSections(in tableView: UITableView) -> Int {
            return sections.count
        }
        func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
            let hour = sections[section]
            return String(format: "%02d:00〜", hour)
        }
    
        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return rows.count
        }
        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
            let cell = tableView.dequeueReusableCell(withIdentifier: "cell")!
            let hour = sections[indexPath.section]
            let minute = rows[indexPath.row]
            cell.textLabel?.text = String(format: "%02d:%02d", hour, minute)
            return cell
        }
    }
    

    Storyboard에 데이터 소스 추가

    Object 에 추가 ViewController
    그리고 Object의 맞춤형 클래스에 DataSource를 지정한다.

    TableView 및 DataSource 연결


    마우스 오른쪽 버튼TableView을 클릭하여 메뉴를 열고 dataSource의 Outlet 연결DataSource 객체를 엽니다.

    실행


    구축 후 확인 동작이 완성됩니다.
    UITableView의 맞춤형 클래스가 필요하지 않습니다.UITableViewDelegete도 같은 요령에 따라 실시할 수 있다.

    좋은 웹페이지 즐겨찾기