ios - 使用未解析的标识符 'UIBezierPath'

标签 ios swift charts

我正在构建一个项目,该项目使用我最初在构建名为 MPAndroidCharts 的 Android 应用程序时发现的图表库。它已被移植到 iOS/Swift 并且运行良好。我遇到了一个奇怪的问题。星期五,当我下类时,该项目运行良好,我在每天结束时和每天开始时测试应用程序,不知道为什么,这就是我的做法。所以我下类的时候是星期五,我今天进来打开项目并尝试构建它,现在我遇到构建失败,提示“使用未解析的标识符‘UIBezierPath’,你是说‘NSBezierPath’吗?”我没有更新系统上的任何内容,代码库中也没有任何更改,但现在无法构建。

当我尝试将它更新为 NSBezierPath 时,我遇到了一堆其他错误,因为它在构造函数中没有相同的参数,而且我不是 100% 确定如何将它转换为 NSBezierPath。我的构造函数很简单(大概)...

let bezierPath = UIBezierPath(roundedRect: barRect, byRoundingCorners: UIRectCorner.allCorners, cornerRadii: CGSize(width: cornerRadius, height: cornerRadius))
let roundedPath = bezierPath.cgPath

当我更新到 NSBezierPath 时,我收到有关 UIRectCorner 需要是 NSRectPointer 的错误,它没有“.allCorners”,然后构造函数完全错误并且无法构建。

我试图让这不太笼统,因为我知道这很糟糕,但我不知道如何修复它,或者为什么它在周末神奇地变得无法解决而没有我更新 xCode 或我的代码库,或者任何关联的库。任何帮助将不胜感激。如果您需要它,图表库的链接是... https://github.com/danielgindi/Charts

最佳答案

now I am getting build failure saying "Use of unresolved identifier 'UIBezierPath' did you mean 'NSBezierPath'?"

UIBezierPath 是一个 UIKit 类,由于 UIKit 是一个 iOS 框架,您可以在 iOS 项目中使用 UIBezierPath,但不能在 macOS 项目中使用。 NSBezierPath 是一个 AppKit 类,而 AppKit 是一个 macOS 框架,所以你可以在 macOS 上使用它,但不能在 iOS 上使用。

如果 Xcode 提供 NSBezierPath 作为替代方案,那么听起来您已经以某种方式将目标切换为针对 macOS 而不是 iOS 构建。检查一下,并检查您的项目是否链接到 UIKit。

When I try to update it to NSBezierPath I get a bunch of other errors because it doesn't have the same arguments in the constructor and I am not 100% sure how to convert it over to NSBezierPath.

除非您将项目移植到 macOS,否则不应切换到 NSBeziierPath。如果那是你正在做的,那么是的,你需要切换,你需要阅读 the NSBezierPath documentation弄清楚如何重写代码以使用该 API。简而言之,看起来您应该能够使用 init(roundedRect:,xRadius:,yRadius:)最后两个参数使用 cornerRadius

关于ios - 使用未解析的标识符 'UIBezierPath',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56347960/

相关文章:

swift - GCDASyncScocket readDataToLength : with swift

javascript - 在 CanvasJS 组合图中禁用工具提示

ios - 仅在用户注销时出现的登录页面

SwiftUI navigationView within Modal 'pushing' 查看向下

ios - Sign in with Apple 下的多个应用

swift - macOS 钥匙串(keychain)共享绕过密码对话框

java - 使用 Google Visualization API 将条形图叠加到折线图之上

javascript - 如何在 JavaScript 中重绘图表

ios - 未调用 TableView 的 cellForRowAtIndexPath?

ios - iPad 的引导访问/Kiosk 模式