【问题标题】:How to assign custom class to TableViewController如何将自定义类分配给 TableViewController
【发布时间】:2017-03-18 10:56:23
【问题描述】:

我是一名 Android 开发人员,最近开始学习 Swift。我面临一个问题,我无法在UIStoryboard 中为UITableView 分配自定义类。当我写下类名并按 Enter 键时,iMac 会发出哔哔声。我一直坚持这个问题。有人可以在这里指导我吗?

这是课程

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
    }
}

谢谢!

【问题讨论】:

  • 你的类也应该是 UITableViewController 的子类!您分配给 UITableViewController。
  • 那么我不需要UITableViewDataSourceUITableViewDelegate 如果我使用UITableViewController
  • 是的,你根本不需要它们!您可以直接使用委托功能。
  • @AnuragSharma 继续写答案。我马上接受
  • 我的意思是@AnuragSharma 添加答案

标签: ios uitableview swift3 uistoryboard


【解决方案1】:

在您在UIStoryboard 中给出类名称之前,您的类应该是该控制器的子类,如下所示:UITableViewController 您分配的是UIViewController 的子类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 2011-05-23
    相关资源
    最近更新 更多