当前位置: 首页 > 面试题库 >

在Xcode 8(Swift 3)中将Swift数组转换为CFArray

颜云瀚
2023-03-14
问题内容

这不再适用于Xcode 8 beta 6:

let colors:CFArray = [fromColor.cgColor, toColor.cgColor]

要么

let gradient:CGGradient = CGGradient(colorsSpace: CGColorSpaceCreateDeviceRGB(), colors:[fromColor.cgColor, toColor.cgColor], locations:[0.0, 1.0])!

错误是:上下文类型’CFArray’不能与数组文字一起使用

从数组转换为CFArray的最新方法是什么?


问题答案:

如果添加演员表,它将起作用as CFArray

let colors = [fromColor.cgColor, toColor.cgColor] as CFArray

或者您可以在通话中添加演员表:

let gradient = CGGradient(colorsSpace: CGColorSpaceCreateDeviceRGB(), colors:[fromColor.cgColor, toColor.cgColor] as CFArray, locations:[0.0, 1.0])!

在Swift 3(Xcode 8 beta 6)中,已删除对桥接类型的隐式转换。 在某些情况下,例如这种情况,您将需要添加显式强制转换以使其起作用。



 类似资料:
  • 问题内容: 我一直在尝试找出如何在Swift中将rgb像素数据数组转换为UIImage。 我将每个像素的rgb数据保持在一个简单的结构中: 我已经实现了以下功能,但是生成的图像不正确: 关于如何正确地将rgb数组转换为UIImage的任何提示或指针? 问题答案: 注意: 这是iOS创建的解决方案。有关macOS和的解决方案,请参见此答案。 唯一的问题是结构中的数据类型需要为。我在Playgroun

  • 问题内容: 如何将一个4字节的数组转换为相应的Int? 例: 输入: 输出: 我在互联网上发现的某些代码不起作用: 问题答案: 有两个问题: 在64位平台上是64位整数,您的输入数据只有32位。 在所有当前的Swift平台上使用小尾数表示法,您输入的是大尾数。 话虽如此,以下方法会起作用: 或在Swift 3中使用: 使用一些缓冲区指针魔术,您可以避免中间复制到对象(Swift 2): 有关此方法

  • 问题内容: 我要实现的是: 我怎样才能返回对象,而是如果? 问题答案: 我找到了解决方案。在结果上创建了扩展名。 并使用像

  • 我想要实现的是: 如果,我如何将对象返回为?

  • 问题内容: 我正在尝试找出如何在Swift中将转换为。 我想出一种解决方法,但是我很想弄清楚如何在Swift中做到这一点。 问题答案: 转换为: 而另一种方式-转换为: 或者,如果您使用的是Swift 2或3:

  • 问题内容: 我正在尝试转换从UITextField中获取的数字(我认为这些数字实际上是字符串),并将其转换为Float,因此我可以将它们相乘。 我有两个声明如下: 当用户按下UIButton时,我想计算用户赚取的工资,但是我不能,因为我需要先将其转换为浮动工资,然后才能使用它们。 我知道如何通过执行以下操作将它们转换为整数: 但是,我不知道如何将它们转换为浮点数。 问题答案: 迅捷2.0+ 现在,