当用户点击表格视图的一行时,我试图使用performSegueWithIdentifier。但是,它不起作用,我有下一个错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not perform segue with identifier 'categoriesS'. A segue must either have a performHandler or it must override -perform.'
我用Google搜索了错误,但我找不到任何内容。我已经在故事板中创建了push segues,并将它们设置为我在代码中使用的标识符。 这是我的代码(PD:我正在使用此tableview,作为侧栏菜单):
import Foundation
class menuVC: UIViewController,UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var ProfileImage: UIImageView!
@IBOutlet weak var myTable: UITableView!
var opciones = [String]()
var segues = [String]()
override func viewDidLoad() {
super.viewDidLoad()
myTable.delegate = self
opciones = ["Categories","My Coins","Get Coins","Share","LogOff","Exit"]
segues = ["categoriesS","myCoinsS","getCoinsS"]
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 6
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print(opciones[indexPath.row])
self.performSegueWithIdentifier(segues[indexPath.row], sender: self)
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell
cell.textLabel?.text = opciones[indexPath.row]
return cell
}
}
谢谢!
答案 0 :(得分:1)
你给出了一个错误的segue,因为控制台清楚地说明了这一点。您正在寻找' segue
'这是在' opciones
'数组,但你传递的是{< SKPhysicsBody(texture:xxx, size:xx)
'阵列。仔细看。
修改强> 我看到你的编辑,看起来你已经使用不同的数组填充你的表,但你已经在didselectrow中使用了其他数组。请检查它