首页 > 解决方案 > 当我尝试为 CIContext 设置选项时,类型“String”没有成员“cacheIntermediates”错误

问题描述

我正在使用Xcode 10建筑iOS 11。我似乎无法cacheIntermediates:false选择工作,即使文档说它在构建iOS 10或更高版本时可用。

lazy var ciContext: CIContext = { [unowned self] in
    return CIContext(mtlDevice: self.device!, 
                     options:[.cacheIntermediates:false]) 
}()

上面的代码给了我以下错误:

类型 'String' 没有成员 'cacheIntermediates'

标签: iosswiftcaching

解决方案


更新:正如其他用户所提到的,这是由我的 Swift 编译版本设置为 4 而不是 4.2 引起的!

老的:

即使他们在 WWDC 2018 上展示了它与“.cacheIntermediates”一起使用,您仍需要使用枚举值:

return CIContext(mtlDevice: self.device!, options:[kCIContextCacheIntermediates:false])

推荐阅读