如何将自定义类分配给 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。 那么我不需要UITableViewDataSource
和UITableViewDelegate
如果我使用UITableViewController
?
是的,你根本不需要它们!您可以直接使用委托功能。
@AnuragSharma 继续写答案。我马上接受
我的意思是@AnuragSharma 添加答案
【参考方案1】:
在您在UIStoryboard
中给出类名称之前,您的类应该是该控制器的子类,如下所示:UITableViewController
您分配的是UIViewController
的子类。
【讨论】:
以上是关于如何将自定义类分配给 TableViewController的主要内容,如果未能解决你的问题,请参考以下文章
Swift:将自定义类分配给所有 UINavigationController 是不是正确?
将自定义类分配给控制器后,Xcode Table View 被擦除
Angular - 将自定义验证器分配给 FormGroup