tai*_*ino 3 string swift swift4
我似乎无法在Swift 4中找到String的API.目标-C等效如下.
NSString *s = @"abcdefg";
NSString *ss = @"cde";
// just check if s contains ss
NSLog(@"%d", [s containsString:ss]);
// get range of ss in s
NSLog(@"%@", NSStringFromRange([s rangeOfString:ss]));
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
编辑:
我收到此错误消息:
test.swift:1:19: error: cannot convert value of type 'String' to expected argument type 'String.Element' (aka 'Character')
"abcdef".contains("cde")
Run Code Online (Sandbox Code Playgroud)
所以我没有意识到我错过了"进口基金会"......
String 会有一个
func contains<T>(_ other: T) -> Bool where T : StringProtocol
Run Code Online (Sandbox Code Playgroud)
这将在导入后可用,Foundation因为它映射到NSString's
open func contains(_ str: String) -> Bool
Run Code Online (Sandbox Code Playgroud)
Infact导入Foundation扩展了Swift的String所有NSString功能,你可以在这里找到它的文档.
原因:雨燕的String是不作为演变为NSString,因此它是桥吧,现在ATLEAST.
检查子字符串的Swift 4解决方案是:
let string = "Hello, World"
let hasSubstring = string.contains("ello")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3830 次 |
| 最近记录: |