在 Swift 中使用 ios-charts for ios7+

Using ios-charts in Swift for ios7+

我正在尝试使用这个图表库,它是我用于 Android:

的同一个库的一个端口

https://github.com/danielgindi/ios-charts

因为我使用 Swift 定位 ios7+ 我决定遵循这个指南:

If you want to compile for iOS 7:

Drag the code itself (.swift files) to your project. As sadly, Swift currently does not support compiling Frameworks for iOS 7. Make sure that the files are added to the Target membership.

所以我基本上将整个 ios-charts 文件夹的副本放在我自己的 .swift 文件旁边的项目文件夹中。

然后删除除 .swift 之外的所有单元,但保留 file/directory 结构。有趣的是,我无法 change/add 定位文件夹中的任何文件,因为单击 xcode.

中的 .swift 文件时该选项不会自行显示

然后我放下一个 UIView 并将 class 更改为例如条形图视图。

我创建了一个插座,所以我的 class 定义中有这个:

@IBOutlet weak var myStickChart: BarChartView!

但是,我在构建时遇到错误

use of undeclared type "BarChartView

这可能是一个简单的问题,但这是我必须使用的第一个第 3 方库。

我之前曾尝试过 pods,但决定反对它 - 我宁愿,现在只要我的目标是 ios7,就可以拖入我想使用的 untts就像 ios-图表说明中描述的 swift/ios7

@Tom - 我在我的一个项目中使用相同的 classes,并且我以与您完全相同的方式安装它。我可以生成与您所看到的相同的错误 - 但前提是我从我的 class 定义中删除 import Charts

下面是我的 class 定义的开头部分

import UIKit
import Charts

class SharePriceGraphViewController: UIViewController, ChartViewDelegate
{
    var myStickChart: BarChartView!  // I don't really have this - added for this test :-)

就目前而言,它编译得很好。如果我删除导入 - 我会得到与您相同的错误。

为 iOS 7 实现此库有其自身的特殊挑战。说明建议您将代码本身(.swift 文件)拖到您的项目 - 当我第一次这样做时,我拖过顶级文件夹(就像你会)但我无法让它工作。

然后我分别复制了每组文件 - 我将它们都放在同一个文件夹中 Charts,但我想你可以重新创建文件夹结构。

现在我有一个使用 ChartsiOS 7 的简单项目,不需要 import

需要说明的是 - 这是我的项目中的文件结构 - 不是很优雅,但它可以工作。

以下步骤对我有用:

  1. 使用 pod 'Charts'
  2. 通过 cocoapods 安装
  3. 现在,如果您尝试写入与 charts 相关的任何内容,它将不会读取该文件或 class,并且您会看到类似 use of undeclared type xxxxx 的错误。因此,为此 GoTo ⇾ 项目目标 ⇾ 通用 ⇾ 链接框架和库 ⇾ 单击 + 按钮 并添加 Charts.framework.
  4. 转到您要使用它的class。 import Charts 现在 你将能够毫无错误地使用这个框架。