【问题标题】:Swift instance property vs methods: lowercased() vs capitalizedSwift 实例属性与方法:小写()与大写
【发布时间】:2017-07-26 08:48:05
【问题描述】:

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

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

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

我做不到lowercased 或capitalized()

在查看 Apple 的 API 参考时,我可以发现

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

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

【问题讨论】:

  • lowercased() 是实例方法,capitalized 是计算属性。
  • 是的,我明白了,但似乎也有一个实例属性 developer.apple.com/reference/foundation/nsstring/… 'lowercased',但由于某种原因,我不能将它与 'capitalized' 一样使用
  • 我在字符串中找不到capitalized。
  • NSString 具有小写属性,而不是 String。

标签: swift methods properties


【解决方案1】:

Foundation NSString 和 Swift Library String 之间存在差异:

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

但是

  • String 和 NSString 都包含属性 capitalized。
  • String 和NSString 都回复lowercased(with:)。
  • 没有方法/函数capitalized().

【讨论】:

  • 谢谢!我被苹果开发者网站右侧的导航栏弄糊涂了,我可以在其中切换目标 c 和 swift。我现在意识到我必须使用顶部导航栏从 NSString 切换到 String
猜你喜欢
  • 1970-01-01
  • 2010-09-19
  • 2011-10-31
  • 2019-06-19
  • 2013-04-01
  • 1970-01-01
  • 2022-08-16
  • 2014-06-11
  • 2015-01-09
相关资源
最近更新 更多