Ios 为什么';我的功能不能在Swift中正确地自动完成吗?
我想使用我自己的自定义函数,因此我创建了以下类,它是来自Ios 为什么';我的功能不能在Swift中正确地自动完成吗?,ios,swift,xcode6,Ios,Swift,Xcode6,我想使用我自己的自定义函数,因此我创建了以下类,它是来自NSObject的子类,如: class ServeStatsTable: NSObject {...} 在上面的类中,我定义了以下方法: func serveTableViewHeader(tableView: UITableView!, number: String, info: NSDictionary, color: UIColor!) -> UIView! {...} 但是,当我试图从另一个类(即UIViewContro
NSObject
的子类,如:
class ServeStatsTable: NSObject {...}
在上面的类中,我定义了以下方法:
func serveTableViewHeader(tableView: UITableView!, number: String, info: NSDictionary, color: UIColor!) -> UIView! {...}
但是,当我试图从另一个类(即UIViewController
的子类)中调用上述方法时,该方法没有对Xcode中的自动完成做出反应,完成如下:
ServeStatsTable.serveTableViewHeader(tableView)
因此,我将其修改为以下正确的方法调用:
ServeStatsTable.serveTableViewHeader(tableView, number: "1", info: info, color: UIColor.orangeColor())
但是,Xcode抛出了一个错误:额外参数'number'…
所以我认为我甚至不能正确定义这个方法
那么,如何正确定义该方法呢?类中的另一个函数发生错误
最后,当我尝试在Xcode中自动完成时,它显示以下弹出窗口:
如果不是参数列表,那么
serveTableViewHeader
中的左侧代码是什么意思?这里的参数似乎是self:ServeStatsTable,这不是我想要的。ServeStatsTable
是一个类,但是serveTableViewHeader(number:info:color:)
是一个实例方法,而不是类方法。因此ServeStatsTable.serveTableViewHeader(tableView,编号:“1”,信息:info,颜色:UIColor.orangeColor())
不是有效的表达式
额外参数“number”
错误是由于在tableView
之后使用了冒号而不是逗号造成的:
ServeStatsTable.serveTableViewHeader(tableView: number: "1", info: info, color: UIColor.orangeColor())
^
如果要使其成为类方法,因此在类上而不是在实例上调用它,请在方法声明中放入class
,如下所示:
class ServeStatsTable: NSObject {
class func serveTableViewHeader(tableView: UITableView!, number: String, info: NSDictionary, color: UIColor!) -> UIView! {...}
...
谢谢至于
额外参数
错误,写问题时是打字错误,但原始代码使用了逗号,仍然让我出错。我修好了。