苹果的Swift
文档指出
如果您正在Cocoa或Cocoa Touch中使用Foundation框架,则可以使用整个NSString API来调用您创建的任何String值
如果我有一个String对象,例如
var newString: String = "this is a string"
如何执行类似containsString
String var的NSString操作?
经过一些研究,看起来containsString
不是一个String
函数,但是可以通过桥接到来访问NSString
。
在苹果公司关于将Swift与Cocoa和Objective-
C结合使用
的文档中,它说
Swift会在String类型和NSString类之间自动桥接。这意味着在任何使用NSString对象的地方,都可以改用Swift
String类型,并从这两种类型中受益
但是看来,只有NSString的某些功能可以访问而无需显式桥接。要桥接到NSString并使用其任何功能,可以使用以下方法:
//Example Swift String var
var newString:String = "this is a string"
//Bridging to NSString
//1
(newString as NSString).containsString("string")
//2
newString.bridgeToObjectiveC().containsString("string")
//3
NSString(string: newString).containsString("string")
所有这三个工作。有趣的是,只有某些NSString
方法可用,Strings
而其他方法则需要显式桥接。这可能是随着Swift的发展而建立的。
问题内容: 从名称(以String格式)中调用方法有时会很有用。 在Swift中,建议更改行为并使用闭包“动态”地进行操作,例如,您可以拥有一个函数字典,名称为键,实现为值。 但是,有时您只想简单地知道“怎么做”,这就是这个问题的原因。 那么,如何从名称作为字符串开始动态调用Swift方法? 在目标C中很简单: 但是在Swift中被禁止 还有其他选择吗? 问题答案: 在Swift中,您应该使用闭包
随着Swift的引入,我一直在努力了解这门新语言 我是一名iOS开发人员,会在应用程序中使用等类型。我注意到在苹果的“the Swift Programming Language”电子书中,他们使用了Swift类型 我注意到Swift类型没有(或者名称不同)Foundation类型所具有的某些功能。例如,具有属性。但是我没有找到类似的Swift。 我在想,对于一个iOS应用程序,我应该仍然使用基础
问题内容: 我试图最终获得一个有效的,但似乎无法将我的字符串数据(来自)放入一个可用的对象中。 我已经看到这种方法的另一种选择: 但是我似乎找不到用例的任何文档。我愿意在必要时将字符串放入其他类型,但是使用Swift 的初始化选项似乎都不是我想要的。 问题答案: 在Swift 3中 在Swift 2中(或者如果您已经有一个实例) 在Swift 1中(或者如果您有swift ): 另请注意,这 是一
问题内容: 在Objective-C中,它看起来像这样: 我需要Swift这样的东西,可以吗? 请显示工作示例。 问题答案: 您的Objective-C代码(使用类别)可以直接转换为Swift(使用扩展名)。 首先,您必须创建一个“桥接头”并添加 然后: 这可以写得更短和更快速 Swift 2更新: 要返回以Base-64编码的字符串而不是十六进制编码的字符串,只需替换 与 Swift 3更新:
问题内容: 出现错误: 无法使用类型为参数的列表进行调用 如何解决呢? 问题答案: 使用Xcode7beta6: 带有Xcode7发行版:
问题内容: swift在String上是否有trim方法?例如: 问题答案: 这是从的开头和结尾删除所有空白的方法。 (示例使用 Swift 2.0 进行了测试。) (示例使用 Swift 3+ 进行了测试。) 希望这可以帮助。