【发布时间】:2015-12-07 00:08:35
【问题描述】:
let renderEncoderOpt = commandBuffer.renderCommandEncoderWithDescriptor(renderPassDescriptor)
if let renderEncoder = renderEncoderOpt {
renderEncoder.setRenderPipelineState(pipelineState)
renderEncoder.setVertexBuffer(vertexBuffer, offset: 0, atIndex: 0)
renderEncoder.drawPrimitives(.Triangle, vertexStart: 0, vertexCount: 3, instanceCount: 1)
renderEncoder.endEncoding()
}
上面的代码抛出一个
Initializer for conditional binding must have Optional type, not 'MTLRenderCommandEncoder'
如果我尝试将 renderEncoderOpt 设为可选,问题仍然存在。我已经尝试使用guard let 与if let 进行测试,并尝试将其设置为可选项,并重新声明类型等,但它一直回到这个问题。这在 swift 1/1.2 中运行良好
有人指点一下吗?
【问题讨论】:
-
我怀疑顶行的右侧(= commandBuffer ...)不是可选的。见stackoverflow.com/questions/31038759/…
标签: swift