如何在swift中获取字符串范围位置?

如何在swift中获取字符串范围位置?,swift,string,location,nsrange,Swift,String,Location,Nsrange,我必须生成字符串的范围并获得子字符串的位置和子字符串的最后位置。我已将swift 2代码转换为swift 4,但出现错误 类型“Range”(又名“Optional>)的值没有成员“location” 那么我怎样才能在swift 5中找到位置呢 let innerData = data.subdata(with: innerRange) let headerRange = innerData.range(of: "\r\n\r\n".data(using: .utf8)!, options: N

我必须生成字符串的范围并获得子字符串的位置和子字符串的最后位置。我已将swift 2代码转换为swift 4,但出现错误

类型“Range”(又名“Optional>)的值没有成员“location”

那么我怎样才能在swift 5中找到位置呢

let innerData = data.subdata(with: innerRange)
let headerRange = innerData.range(of: "\r\n\r\n".data(using: .utf8)!, options: NSData.SearchOptions())
let startLocation = headerRange.location + headerRange.length

差旅是一种选择。您是否先尝试打开它?@claude31
headerRange
没有
location
属性。它的类型是
范围?
,而不是
NSRange
。您可能会发现这个答案对于您的问题来说已经足够了:@claude31我在强制展开标题后尝试过,但它不起作用,实际上我不知道为什么在那里使用“位置”。我从github获得了这段代码,我必须将其转换为swift 4。headerRange是可选的。您是否先尝试打开它?@claude31
headerRange
没有
location
属性。它的类型是
范围?
,而不是
NSRange
。您可能会发现这个答案对于您的问题来说已经足够了:@claude31我在强制展开标题后尝试过,但它不起作用,实际上我不知道为什么在那里使用“位置”。我从github获得了这段代码,我必须将其转换为swift 4。