Ios Swift错误:类型为'的值;NSObject->;()';AnimalListTableViewController';没有成员';tableView';
我正试图消除swift xcode中的这些错误 如果截图太小,下面是代码Ios Swift错误:类型为'的值;NSObject->;()';AnimalListTableViewController';没有成员';tableView';,ios,xcode,swift,Ios,Xcode,Swift,我正试图消除swift xcode中的这些错误 如果截图太小,下面是代码 import UIKit class AnimalListTableViewController: UITableViewController { override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 4 } let indexP
import UIKit
class AnimalListTableViewController: UITableViewController
{
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4
}
let indexPath = self.tableView.indexPathForSelectedRow()//this is where the error appears, it says Value of type 'NSObject -> () -> AnimalListTableViewController' has no member 'tableView'
override func prepareForSegue(segue: UIStoryboardSegue,
sender: AnyObject?)
{
if let DetailViewController =
segue.destinationViewController
as? DetailViewController {
}
}
if let indexPath = self.tableView.indexPathForSelectedRow()
{
DetailViewController.Animal = animals[indexPath.row]
}
}
代码格式不正确
在生成错误的行中,您正在animalisttableviewcontroller
类
声明的上下文中工作,而不是在函数中。从左到右读取时,就好像您试图声明animalisttableviewcontroller
类的常量数据成员indepath
看起来您正在尝试这样做:
class AnimalListTableViewController: UITableViewController
{
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 4
}
override func prepareForSegue(segue: UIStoryboardSegue,
sender: AnyObject?)
{
if let detailViewController = segue.destinationViewController as? DetailViewController, let indexPath = self.tableView.indexPathForSelectedRow {
detailViewController.Animal = animals[indexPath.row]
}
}
}
还清理了其他一些东西:
- 不要将类名(
)也用作变量名。将其更改为DetailViewController
detailViewController
- 将
语句折叠为单个语句。清洁工避免选择if let