2016-10-03 8 views
0

UIViewController 안에 UITableView을 구현했습니다. HomePageTableView이라는 이름의 UITableView이라는 맞춤 수업을 만들었으며 스토리 보드에서이를 참조했습니다.UIViewController 내부의 UITableView가 응답하지 않습니다 (Swift 3.0)

import Foundation 
import UIKit 

class HomePageViewController: UIViewController { 


    @IBOutlet var tableView: HomePageTableView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     tableView.reloadData() 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

이 HomePageTableView : :이 실행하려고 할 때의 tableview 빈의 tableview을로드하고

class HomePageTableView: UITableView, UITableViewDelegate, UITableViewDataSource { 
    var items: [String] = ["Item1", "Item2", "Item3"] 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return self.items.count; 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell:UITableViewCell = self.dequeueReusableCell(withIdentifier: "cell1")! as UITableViewCell 

     cell.textLabel?.text = self.items[indexPath.row] 

     return cell 
    } 

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
     print("You selected cell #\(indexPath.row)!") 
    } 
} 

더 셀을 선택할 수 없습니다 아래 HomePageTableView에 대한 코드와 HomePageViewController

이 HomePageViewController입니다 또는 어떤 내용을 보여줄 수 있습니다. 어떤 셀을 선택하거나 테이블 뷰와 상호 작용할 수 없습니다. 내가 어떻게이 테이블 뷰에 데이터를로드하고 내가 그것을 상호 작용할 수 있도록 구성 할 수 있을지 궁금 해서요. 뷰 컨트롤러에 tableview 코드를 배치하는 것을 고려했지만 자체 클래스에서 tableview를 갖는 것이 더 유용 할 것입니다.

enter image description here

미리 감사드립니다!

+0

tableView.datasource = tableView –

+0

어디에서 추가할까요? HomePageTableView에는 멤버 데이터 소스가 없습니다 –

+0

데이터 소스 코드는 뷰 컨트롤러 클래스 또는 뷰 클래스에 속하지 않습니다. 그것은 자신의 클래스에 속합니다. – vikingosegundo

답변

-1

이 작업을 간단하게 수행 할 수 있습니다. 모든 연결이 괜찮 으면 제대로 작동해야한다고 생각합니다.

class HomePageViewController: HomePageTableView { 

     override func viewDidLoad() { 
      super.viewDidLoad() 
    } 

} 
+0

HomePageViewController는 HomePageTableView가 아닌 ​​UIViewController입니다. HomePageTableView –

+0

죄송합니다. 귀하의 질문에 오해 한 것 같습니다. 이제 HomePageTableView에서 테이블 뷰의 인스턴스를 만드는 방법에 대해 설명합니다. 그런 다음 tableview.reload()를 수행하는 함수를 만듭니다. 그런 다음 HomeViewViewController의 UIViewController와 함께이 클래스를 상속하고 해당 함수를 호출하면됩니다. – Developer

관련 문제