Swift无法将范围赋值给变量?

4
我正在尝试想出一种从HTML页面提取图像的方法。(我还没有查找实际操作,我只是试图从零开始构思,所以不要评判)无论如何,到目前为止我编写的代码出现了错误:“无法将类型为Range<Index>?的值分配给类型为Range<Int>?”
//variable "html" has type String
        let variations = ["img","IMG","Img"]
        var tagStart: Range<Int>?
        var index = 0
        repeat
        {
           tagStart = html.rangeOfString(variations[index]) //Cannot assign a value of type Range<Index>? to a value of type Range<Int>?
            index += 1
        }while( tagStart == nil );

好的,所以Range类型由Index组成,而不是Int。但是当我尝试更改声明时,我收到了一个"使用未声明的类型'Index'"错误。现在它告诉我Index只存在于我的想象中?

//variable "html" has type String
        let variations = ["img","IMG","Img"]
        var tagStart: Range<Index>?
        var index = 0
        repeat
        {
           tagStart = html.rangeOfString(variations[index]) //"Use of undeclared type 'Index'"
            index += 1
        }while( tagStart == nil );
1个回答

15

rangeOfString返回的不是Index的范围,而是String.Index的范围。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接