加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

无法将“Range”类型的值转换为预期的参数类型“Range”(又名“R

发布时间:2020-12-14 04:49:22 所属栏目:百科 来源:网络整理
导读:我在这里有一个字符串,我正在尝试子串. let desc = "Hello world. Hello World."var stringRange = 1..5desc.substringWithRange(stringRange) 但是Swift给我一个错误.我做错了什么?我正在使用stringRange的新表示法,因为它不允许我使用旧的. 解决方法 您创
我在这里有一个字符串,我正在尝试子串.

let desc = "Hello world. Hello World."
var stringRange = 1..<5
desc.substringWithRange(stringRange)

但是Swift给我一个错误.我做错了什么?我正在使用stringRange的新表示法,因为它不允许我使用旧的.

解决方法

您创建的范围没有正确的类型,它被推断为Int.您需要从字符串本身创建范围:

let desc = "Hello world. Hello World."
let stringRange = desc.startIndex..<desc.startIndex.advancedBy(5)
let sub = desc[stringRange]

使用String稍微复杂一点.或者,返回NSString和NSRange:

let range = NSMakeRange(0,5)
let sub2 = (desc as NSString).substringWithRange(range)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读