我正在使用Xcode 6.3.1和Swift。Swift:获取关于函数参数类型错误的更多详细信息
当一个带有多个参数的函数在参数类型上出现错误时,很难知道哪个参数是错误的。
例如,CGBitmapContextCreate()
,此代码:
let colorSpace:CGColorSpace = CGColorSpaceCreateDeviceRGB()
let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)
let context = CGBitmapContextCreate(nil, UInt(size.width), UInt(size.height), 8, 0, colorSpace, bitmapInfo)
会产生这样的错误:
MyFile.swift:23:19: Cannot invoke 'CGBitmapContextCreate' with an argument list of type '(nil, UInt, UInt, Int, Int, CGColorSpace, CGBitmapInfo)'
通过仔细对比文件和我的参数列表,我可以找到它是第二和第三个参数,它们应该是Int。
有什么办法让编译器更聪明吗?
除非您稍后释放像素,否则会泄漏缓冲区。它也没有与OP代码相同的功能(它以不同的方式处理Alpha通道)。 –
@RobNapier,嗯..你说得对。 – vkalit