【发布时间】:2015-11-09 10:51:01
【问题描述】:
我注意到一些方法,例如init(nibName nibName: String?, bundle nibBundle: NSBundle?) 对一个参数有两个“名称”,但第一个不能在内部方法中使用。在这种情况下,您不能使用bundle,但可以使用 nibBundle。例如,当我调用 super.init(nibName: nibName, bundle: bundle) 时,我收到错误“使用未解析的标识符 'bundle'”。
我的问题是:它(双重命名参数)是干什么用的?如何正确使用?
编辑:现在很明显它是外部参数名称的事情。 我有 UIViewController 的子类并覆盖以下方法。我不知道 nibBundle 从哪里来的?显然它没有在函数头中定义。
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
let someBundle = nibBundle
print(someBundle)
}
【问题讨论】:
标签: swift function parameters