在Swift中对String调用NSString方法

Jpoliachik

苹果的Swift文档指出

如果您正在Cocoa或Cocoa Touch中使用Foundation框架,则可以使用整个NSString API来调用您创建的任何String值

如果我有一个String对象,例如

var newString: String = "this is a string"

如何执行类似containsStringString var的NSString操作

Jpoliachik

经过一些研究,看起来好像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的发展而建立的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章