swift - 我安装了图表的 pod 文件,现在使用范围时出现错误

标签 swift charts range cocoapods

我安装了图表的 pod 文件,现在编译器给出了有关范围使用的错误。

extension StringProtocol where Index == String.Index {
    func index(of string: Self, options: String.CompareOptions = []) -> Index? {
        return range(of: string, options: options)?.lowerBound
    }
    func endIndex(of string: Self, options: String.CompareOptions = []) -> Index? {
        return range(of: string, options: options)?.upperBound
    }
    func indexes(of string: Self, options: String.CompareOptions = []) -> [Index] {
        var result: [Index] = []
        var startIndex = self.startIndex
        while startIndex < endIndex,
            let range = self[startIndex...].range(of: string, options: options) {
                result.append(range.lowerBound)
                startIndex = range.lowerBound < range.upperBound ? range.upperBound :
                    index(range.lowerBound, offsetBy: 1, limitedBy: endIndex) ?? endIndex
        }
        return result
    }
    func ranges(of string: Self, options: String.CompareOptions = []) -> [Range] {
        var result: [Range<Index>] = []
        var startIndex = self.startIndex
        while startIndex < endIndex,
            let range = self[startIndex...].range(of: string, options: options) {
                result.append(range)
                startIndex = range.lowerBound < range.upperBound ? range.upperBound :
                    index(range.lowerBound, offsetBy: 1, limitedBy: endIndex) ?? endIndex
        }
        return result
    }
}

我预计不会出现错误,但是我收到了这些在安装图表库之前未出现的错误:

对泛型类型“Range”的引用需要 <...> 中的参数

在此上下文中,“范围”对于类型查找不明确

  1. 找到此候选对象 (Swift.Range)
  2. 找到此候选者 (Charts.Range)

最佳答案

发生这种情况是因为 Charts 有一个 Range 类(如您所见 here )。当我在使用图表的项目中使用您的代码时,我遇到了相同的编译错误。

无法编译的行(对我来说只有一行)是这样的:

func ranges(of string: Self, options: String.CompareOptions = []) -> [Range] {

但我可以通过简单地应用您在该函数中的相同修复来修复它,即将其更改为:

func ranges(of string: Self, options: String.CompareOptions = []) -> [Range<Index>] {

关于swift - 我安装了图表的 pod 文件,现在使用范围时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56159637/

相关文章:

swift - 将 JSON 转换为 Dictionary Swift 时出错

ios - 如何对 MKAnnotationViews 进行 z 排序?

c# - WPF图表控件更改**系列**图例中的标题

winforms - WinForms 应用程序中的 Microsoft Chart 控件 - 如何显示复合图表

Javascript流解析xml

r - 寻找数据框值的范围

swift - 如何在 Swift 脚本中使用其他文件中定义的类

swift - 插页式广告 SpriteKit

java - java中范围函数的使用方法

javascript - HTML 修改后无法恢复选择,即使是相同的 HTML