如何将自定义类分配给 TableViewController

Posted

技术标签:

【中文标题】如何将自定义类分配给 TableViewController【英文标题】:How to assign custom class to 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 添加答案 【参考方案1】:

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

【讨论】:

以上是关于如何将自定义类分配给 TableViewController的主要内容,如果未能解决你的问题,请参考以下文章

Swift:将自定义类分配给所有 UINavigationController 是不是正确?

将自定义类分配给控制器后,Xcode Table View 被擦除

打字稿将自定义对象分配给任何对象

Angular - 将自定义验证器分配给 FormGroup

将自定义导航栏分配给 UINavigationController [重复]

php 将自定义模板分配给具有特定类别(和子级)的帖子。