苹果的Swift 文档指出
如果您正在Cocoa或Cocoa Touch中使用Foundation框架,则可以使用整个NSString API来调用您创建的任何String值
如果我有一个String对象,例如
var newString: String = "this is a string"
如何执行类似containsStringString var的NSString操作?
containsString
经过一些研究,看起来containsString不是一个String函数,但是可以通过桥接到来访问NSString。
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的发展而建立的。
Strings