为什么覆盖 prepareForSegue 将显示覆盖只能在 class 成员上指定
why override prepareForSegue will show override can only be specified on class member
这是我的代码的一部分。我试图覆盖 prepareForSegue,所以当我单击一个单元格时,它可以进入我的另一个视图控制器并根据我单击的单元格显示不同的内容。但我无法覆盖 prepareForSegue。
import Foundation
import UIKit
class CategoryListViewController: UIViewController, UITableViewDataSource, UITableViewDelegate
{
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:UITableViewCell
cell = tableView.dequeueReusableCellWithIdentifier("firstrow", forIndexPath: indexPath)
cell.textLabel?.text = "test"
cell.detailTextLabel?.text = "try"
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
switch segue.identifier {
case .Some("DetailSegue"):
let indexPath = tableView.indexPathForSelectedRow!
let viewController = segue.destinationViewController
viewController.navigationItem.title = "Row \(indexPath.row)"
tableView.deselectRowAtIndexPath(indexPath, animated: false)
default:
super.prepareForSegue(segue, sender: sender)
}
}
return cell
}
}
Xcode 告诉我 override can only be specified on class member
,但我需要 override prepareForSegue
。我的代码有什么问题?这个函数在我老师的代码中可以覆盖,但在我的代码中似乎无法覆盖。
B 小心移动代码(命令选项“[”和“]”
因为你可以很容易地用这种方式搞砸大括号。
试图弄清楚为什么您的变量会收到此错误,而所需要做的只是修复左括号或右括号,这可能会花费数小时。
星期六花了 5 个小时调试,只是简单地删除了一个括号--与此处相同的错误。
这是我的代码的一部分。我试图覆盖 prepareForSegue,所以当我单击一个单元格时,它可以进入我的另一个视图控制器并根据我单击的单元格显示不同的内容。但我无法覆盖 prepareForSegue。
import Foundation
import UIKit
class CategoryListViewController: UIViewController, UITableViewDataSource, UITableViewDelegate
{
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 5
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell:UITableViewCell
cell = tableView.dequeueReusableCellWithIdentifier("firstrow", forIndexPath: indexPath)
cell.textLabel?.text = "test"
cell.detailTextLabel?.text = "try"
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
switch segue.identifier {
case .Some("DetailSegue"):
let indexPath = tableView.indexPathForSelectedRow!
let viewController = segue.destinationViewController
viewController.navigationItem.title = "Row \(indexPath.row)"
tableView.deselectRowAtIndexPath(indexPath, animated: false)
default:
super.prepareForSegue(segue, sender: sender)
}
}
return cell
}
}
Xcode 告诉我 override can only be specified on class member
,但我需要 override prepareForSegue
。我的代码有什么问题?这个函数在我老师的代码中可以覆盖,但在我的代码中似乎无法覆盖。
B 小心移动代码(命令选项“[”和“]” 因为你可以很容易地用这种方式搞砸大括号。 试图弄清楚为什么您的变量会收到此错误,而所需要做的只是修复左括号或右括号,这可能会花费数小时。
星期六花了 5 个小时调试,只是简单地删除了一个括号--与此处相同的错误。