我知道这个问题已经被多次询问了,但我检查了各种答案中的所有可能问题,但仍然无效。
我正在尝试将自定义单元格添加到表格视图中,但会显示此错误消息并且应用程序崩溃:
Fatal error: unexpectedly found nil while unwrapping an Optional value
以下是我添加表视图的视图控制器的代码:
import UIKit
class VC0: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var myTableView: UITableView!
var names = ["Artist name", "Artist Name", "Artist name", "Artist name", "Artist name", "Artist name"]
var cities = ["City", "City", "City", "City", "City", "City"]
var images = [UIImage(named: "avatar"), UIImage(named: "avatar1"), UIImage(named: "avatar2"), UIImage(named: "avatar3"), UIImage(named: "avatar4"), UIImage(named: "avatar5")]
override func viewDidLoad() {
super.viewDidLoad()
self.myTableView.registerClass(CustomCell.self, forCellReuseIdentifier: "cell")
self.myTableView.dataSource = self
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return names.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.myTableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CustomCell
cell.photo.image = images[indexPath.row]
cell.name.text = names[indexPath.row]
cell.city.text = cities[indexPath.row]
return cell
}
}
此行显示错误:
cell.photo.image = images[indexPath.row]
如果您想查看完整代码,可以使用以下项目:http://dl.dropboxusercontent.com/s/frhaniuw5e36xej/swipeViews%20-%20copie.zip?dl=0
答案 0 :(得分:2)
您使用registerClass
会覆盖故事板中原型单元格的创建。来自UITableView
文档:
如果您以前使用相同的重用标识符注册了类或nib文件,则在cellClass参数中指定的类将替换旧条目。
相反,您需要创建新的空白CustomCell
实例,而这些实例并没有连接您的网点。删除该行,事情应该有效。