当我尝试运行一行代码时弹出一个非常奇怪的错误。
我有一个 CAShapeLayer 的子类,我试图在其上设置线帽样式。我想使用圆帽样式,但是当我添加这段代码时:
[self setLineCap: kCGLineCapRound];
构建失败,我收到此错误和警告:
Implicit conversion of 'int' to 'NSString *' is disallowed with ARC
Incompatible integer to pointer conversion sending 'int' to parameter of type 'NSString *'
但是如果我添加这个:
[self setLineCap: kCGLineCapButt];
它构建得很好。为什么它打破了另一种线帽类型?这是 Quartz 的问题/错误吗?
相关信息。
- iOS SDK 8.1
- Xcode 6.1.1
- 部署目标 iOS 7.0
最佳答案
CAShapeLayer 使用 kCALineCap***,它是 CAShapeLayer.h 文件中定义的常量字符串,而不是作为枚举一部分的 kCGLineCap***。
关于ios - 设置 CAShapeLayer 的线帽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549804/