两个小时以来,我一直在寻找解决此问题的方法。我正在使用Xcode
中的另一个GitHub
项目,并自己实现。我认为复制和粘贴代码/文件(虽然在许可证下合法)是将其实际添加到我自己的项目中的正确选择。
添加的项目就是这个: https://github.com/nhatminh12369/LineChart
我检查了目标值,并确保它们将我的项目用作目标。我还确保在构建阶段没有将使用的文件复制到Copy Bundle Resources
文件夹中。
单独运行它对我来说很有效,但是在将其实现为自己的代码时遇到了一些问题。我想调用此图是因为单击了一个“图”按钮,该按钮在新窗口的ViewController()
文件中启动了代码。我需要为文件创建一个ViewControllerWrapper()
,以使其符合我的本地“视图”。
我的呼叫如下:
NavigationLink(destination: ViewControllerWrapper(),isactive: self.$graphIsactive) {
Text("")
}
ViewController()
中的代码可以正常运行,直到尝试用数据填充Optional类lineChart和curvelineChart时崩溃为止。
两者均在lineChart.swift中创建为class LineChart: UIView {...}
,并在“ ViewController.swift”中定义为@IBOutlet weak var lineChart: LineChart!
。
分配lineChart.dataEntries = dataEntry
导致错误Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value
。
正如我之前提到的,我已经预先尝试了一些解决此问题的方法,但是没有任何运气(例如,保护情况隐式解开了上面的代码)。这里似乎还有另一个潜在的问题,实际上可能是导致错误的原因。这又回到了我对错误设置该项目的担忧:将鼠标悬停在显示错误的行上时,会显示另一个错误。
Printing description of dataEntry:
expression produced error: error: ... error: use of undeclared type 'projectName'
Swift._DebuggerSupport.stringForPrintObject(Swift.UnsafePointer<Swift.Optional<Swift.Array<projectName.PointEntry>>>(bitPattern: 0x1363f42f0)!.pointee)
dataEntry
被定义为PointEntry[]?
,其中PointEntry
包含整数和字符串。在这种情况下,dataEntry
被定义并且具有非nil值,但仍然会导致错误。这些错误从未在原始项目中发生过,我没有明显的方法来解决此问题。如果有人对这个问题有任何看法,我将不胜感激。我不知道这些背景信息是否足以给出答案,因为这是我在这里的第一篇文章,但请告诉我!