小编Bor*_*nko的帖子

枚举的字符串插值产生"unknown()"字符串

简单的枚举和插值:

enum Test {
    case test1
    case test2
    case test3
}

let a = Test.test1
let b = "\(a)"
Run Code Online (Sandbox Code Playgroud)

从调试窗口我得到:

a = (Test) test1
b = (String) "unknown()"
Run Code Online (Sandbox Code Playgroud)

问题是这发生在我的项目中,而不是在操场上.

在项目中:

在项目中

在操场上:

在操场上

在日志中我得到:

SWIFT RUNTIME BUG: unable to find field metadata for type 'ProjectName.(unknown context at 0x10672213c).Test'

有什么问题?项目目标iOS是9.我确实将项目转换为swift 4.2.我在XCode 10测试版上遇到过这个问题,并希望它能得到修复,但我想这不是IDE或Swift问题.

swift xcode10

4
推荐指数
1
解决办法
623
查看次数

CAShapeLayer 和 UIBezierPath 逆时针绘制圆的问题

我正在尝试画一个以逆时针方向 12 点钟开始和结束的圆圈。我遇到的问题是形状没有被绘制。我使用init(arcCenter center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle: CGFloat, clockwise: Bool)路径初始化程序,如果我使用clockwise: true,它就可以工作。如果startAngle设置为0endAngleto2 * .pi它适用于clockwise: false. clockwise: false然而和的组合startAngle: -0.5 * .pi, endAngle: 1.5 * .pi不起作用。这是有原因的吗?我该如何解决?

这个有效:

let shapeLayer = CAShapeLayer()
let arcCenter = view.center
let circularPath = UIBezierPath(arcCenter: arcCenter, radius: 100, startAngle: 0, endAngle: 2 * CGFloat.pi, clockwise: false)
shapeLayer.path = circularPath.cgPath
shapeLayer.strokeColor = UIColor.red.cgColor
shapeLayer.lineWidth = 10
shapeLayer.lineCap = .round
shapeLayer.fillColor …
Run Code Online (Sandbox Code Playgroud)

cashapelayer uibezierpath swift

3
推荐指数
1
解决办法
994
查看次数

标签 统计

swift ×2

cashapelayer ×1

uibezierpath ×1

xcode10 ×1