Swift实例属性vs方法:lowercased()vs capitalized

时间:2017-03-06 13:03:26

标签: swift methods properties

我在这里有点困惑,出于某种原因,我不能以同样的方式调用capitalizedlowercased,即使两者都应该是实例属性:

var aString = "a lowercased string" 
aString = aString.capitalized

var anotherString = "A CAPITALIZED STRING!" 
anotherString.lowercased()

我无法lowercasedcapitalized()

在查看Apple的API参考时,我可以找到

所以我认为我可以调用lowercasedlowercased(),因为它既是方法又是属性,但我不能。 这让我很困惑,因为我似乎不明白在swift中何时/如何调用方法。

关于我可以在哪里阅读的任何建议?

1 个答案:

答案 0 :(得分:1)

基金会NSString和Swift Library String之间存在差异:

  • 属性lowercased属于NSString
  • 函数lowercased()属于String

但是

  • StringNSString都包含属性capitalized
  • StringNSString都会回复lowercased(with:)
  • 没有方法/功能 capitalized()