2017-03-18 47 views
2

我是一名android開發人員,最近我開始學習Swift。我遇到了一個問題,我無法在UIStoryboard中爲UITableView分配自定義類。當我寫入課程名稱並按回車鍵時,iMac會發出嗶聲。我堅持這個問題幾個小時。有人可以在這裏指導我嗎?如何將自定義類分配給TableViewController

enter image description here

這裏是類

import Foundation 
import UIKit 
class MemeTableViewController: UIViewController,UITableViewDataSource,UITableViewDelegate { 

    var memes : [Meme]! 

    override func viewWillAppear(_ animated: Bool) { 
     super.viewWillAppear(animated) 

     let appDelegate = UIApplication.shared.delegate as! AppDelegate 
     memes = appDelegate.meme 
    } 

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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "tablecell")! 
     let meme = memes[(indexPath as NSIndexPath).row] 
     cell.imageView?.image = meme.memeImage 
     cell.textLabel?.text = "\(meme.topText)....\(meme.bottomText)" 
     return cell 
    } 

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
     let controller = self.storyboard?.instantiateViewController(withIdentifier: "MemeDetailViewer") as! MemeDetailViewer 
     let meme = memes[(indexPath as NSIndexPath).row] 
     controller.memeImage = meme.memeImage 
    } 
} 

謝謝!

+0

你的類也應該是UITableViewController的子類!你正在分配給UITableViewController。 –

+0

那麼我不需要'''UITableViewDataSource'''和'''UITableViewDelegate'''如果我使用'''UITableViewController'''? –

+0

是的,當然,你根本不需要它們!您可以直接使用委託功能。 –

回答

2

之前你在UIStoryboard然後給類的名字,你的類應該是子類控制器的喜歡這裏:UITableViewController 和你正在分配是一個子類的UIViewController

相關問題