调用中的无关参数标签'localeID'(SwiftDate)

时间:2016-04-26 15:58:07

标签: ios swift date

我正在使用Swift和应用程序开发的新手开发一个iOs应用程序。我使用SwiftDate外部库来处理日期。 SwiftDate与CocoaPods一起安装,并在项目中正确导入。

但我无法弄清楚为什么在编译项目时出现这个错误:

  

调用中的无关参数标签'localeID'

对于此代码:

let now = NSDate()

let nowHere = now.toString() // E.g. 21-Dec-15 12:00 CET
let nowInFrench = now.inRegion(localeID: "fr_FR").toString()

我理解这是因为参数格式不正确,但这是documentation的例子,所以我对这个问题有点失落。

感谢的。

2 个答案:

答案 0 :(得分:1)

正如奥利弗所说,第一个问题是

中的参数标签
let nowInFrench = now.inRegion(localeID: "fr_FR").toString()

修复你的

  

调用中的无关参数标签'localeID'

错误就像这样写

let nowInFrench = now.inRegion("fr_FR").toString()

然后你会来

  

无法将string类型的值转换为期望参数类型Region

错误。这意味着您不能简单地为函数inRegion提供String对象。它想要一个Region对象。 documentation表示使用创建区域

let paris = DateRegion(timeZoneID: "CEST", localeID: "fr_FR")
let nowInFrench = now.inRegion(paris).toString()

答案 1 :(得分:0)

错误被标记,因为对于函数中的第一个参数,标签不需要写入,只有之后的标签。

如果你只是写:

let nowInFrench = now.inRegion("fr_FR").toString()

错误应该消失。

我不知道为什么这个例子是这样编写的,也许只是为了清晰起见。

编辑:看过文档后我认为他们刚刚将标签包含在内,以明确它们用作参数的类型。