我在我的项目中使用Koloda,每当我尝试加载一个视图控制器时,我得到错误"致命错误:在解开一个Optional值时意外发现nil"在kolodaView.dataSource = self
上然后如果已注释掉,我会在kolodaView.delegate = self
上收到相同的错误。我对IOS和Swift相当新,所以我不确定发生了什么。以下是Koloda viewcontroller
中的代码显示错误的位置:
override func viewDidLoad() {
super.viewDidLoad()
kolodaView.dataSource = self
kolodaView.delegate = self
self.modalTransitionStyle = UIModalTransitionStyle.FlipHorizontal
}
以下是我尝试加载的UIViewController
中的代码。它们也没有任何链接。
import Foundation
import UIKit
class genderSelection1: ViewController, UITableViewDelegate, UITableViewDataSource{
@IBOutlet weak var tableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.delegate = self
self.tableView.dataSource = self
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// MARK: - Table view data source
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 2
}
func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let headerCell = tableView.dequeueReusableCellWithIdentifier("headerCell") as! UITableViewCell
headerCell.backgroundColor = UIColor.groupTableViewBackgroundColor()
return headerCell
}
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! UITableViewCell
return cell
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
}
答案 0 :(得分:0)
kolodaView实例为零。通过在super.viewDidLoad()之后放置NSLog来验证这一点。
NSLog("kolodaView \(kolodaView)");
我认为,您尚未正确连接IBOutlet。你需要检查一下。