当我尝试运行一行代码时,我弹出一个非常奇怪的错误。
我有一个CAShapeLayer的子类,我试图在其上设置线帽样式。我想使用圆帽样式,但是当我添加此代码时:
[self setLineCap: kCGLineCapRound];
构建失败,我收到此错误并发出警告:
ARC
不允许将'int'隐式转换为'NSString *'不兼容的整数到指针转换将'int'发送到'NSString *'
类型的参数
但如果我加上这个:
[self setLineCap: kCGLineCapButt];
它构建得很好。为什么打破其他线帽类型?这是Quartz的问题/错误吗?
答案 0 :(得分:2)
CAShapeLayer使用kCALineCap ***,它是CAShapeLayer.h文件中定义的常量字符串,而不是作为枚举的一部分的kCGLineCap ***。