gpt4 book ai didi

swift - 访问扩展中的结构时的保护级别问题

转载 作者:搜寻专家 更新时间:2023-10-31 22:02:05 24 4
gpt4 key购买 nike

我正在尝试将以下库实现到我的项目中:

https://github.com/knutigro/COBezierTableView

要使用它,可以为以下属性指定自定义值:

public extension UIView {

public struct BezierPoints {

static var p1 = CGPoint.zero
static var p2 = CGPoint.zero
static var p3 = CGPoint.zero
static var p4 = CGPoint.zero
}
}

在我的 MainVC 中,配置如下:

UIView.BezierPoints.p1 = CGPoint(...
UIView.BezierPoints.p2 = CGPoint(...
UIView.BezierPoints.p3 = CGPoint(...
UIView.BezierPoints.p4 = CGPoint(...

在 Swift 2.3 演示项目中没有错误。在 Swift 3 项目中,我收到错误:

“由于‘内部’保护级别,p1 无法访问。”

有人可以在这里阐明这个问题吗,我猜 Swift 3 有一些新的幕后权限接管需要被覆盖。

最佳答案

我想,您提到的扩展与您的 MainVC 不在同一个目标中?

因为 p1 等没有分配保护级别(并且 struct 不是 private),它们自动被 内部。这意味着,您只能在同一目标中访问这些属性。

但在 Swift 的早期版本中也是如此。我不知道,为什么您的代码一直有效。

关于swift - 访问扩展中的结构时的保护级别问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39468127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com