如何将自定义 class 分配给 TableViewController
How to assign custom class to TableViewController
我是一名 android 开发人员,我最近开始学习 Swift。我遇到一个问题,我无法将自定义 class 分配给 UIStoryboard
中的 UITableView
。当我输入 class 名称并按下回车键时,iMac 会发出哔哔声。我一直坚持这个问题。有人可以指导我吗?
这是class
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
}
}
谢谢!
在 UIStoryboard
中输入 Class 名称之前,您的 class 应该是该控制器的子 class,如下所示:UITableViewController
您分配的是 UIViewController
.
的子 class
我是一名 android 开发人员,我最近开始学习 Swift。我遇到一个问题,我无法将自定义 class 分配给 UIStoryboard
中的 UITableView
。当我输入 class 名称并按下回车键时,iMac 会发出哔哔声。我一直坚持这个问题。有人可以指导我吗?
这是class
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
}
}
谢谢!
在 UIStoryboard
中输入 Class 名称之前,您的 class 应该是该控制器的子 class,如下所示:UITableViewController
您分配的是 UIViewController
.