首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Swift:获取有关函数参数类型错误的更多详细信息

Swift:获取有关函数参数类型错误的更多详细信息
EN

Stack Overflow用户
提问于 2015-05-08 20:46:53
回答 2查看 918关注 0票数 4

我使用的是Xcode 6.3.1和Swift。

当一个具有多个参数的函数在参数类型上出现错误时,很难知道哪个参数是错误的。

例如,CGBitmapContextCreate(),这段代码:

代码语言:javascript
运行
复制
let colorSpace:CGColorSpace = CGColorSpaceCreateDeviceRGB()
let bitmapInfo = CGBitmapInfo(CGImageAlphaInfo.PremultipliedLast.rawValue)
let context = CGBitmapContextCreate(nil, UInt(size.width), UInt(size.height), 8, 0, colorSpace, bitmapInfo)

将产生如下错误:

代码语言:javascript
运行
复制
MyFile.swift:23:19: Cannot invoke 'CGBitmapContextCreate' with an argument list of type '(nil, UInt, UInt, Int, Int, CGColorSpace, CGBitmapInfo)'

通过仔细比较文档和我的参数列表,我可以发现它是第二个和第三个参数,应该是Int。

有没有办法让编译器在这方面更智能呢?

EN

回答 2

Stack Overflow用户

发布于 2015-07-01 23:49:34

问题可能是,根据您在编译时实际访问的定义,您正在查找的CGBitmapContextCreate在线文档是错误的。

最后一个参数需要是UInt32类型,并且CGBitmapInfo将返回一个CGBitmapInfo对象。这就是编译器出错的原因。您传入的参数类型不正确。你甚至可以右击函数并点击“查看定义”,这将验证我所说的话。

尝试一下,直接传入CGImageAlphaInfo.PremultipliedLast.rawValue,因为它是正在查找的UInt32。

示例解决方案:

代码语言:javascript
运行
复制
let colorSpace:CGColorSpace = CGColorSpaceCreateDeviceRGB()
let bitmapInfo = CGImageAlphaInfo.PremultipliedLast.rawValue
let context = CGBitmapContextCreate(nil, UInt(size.width), UInt(size.height), 8, 0, colorSpace, bitmapInfo)

你会发现你将能够编译源代码,并得到预期的结果。请注意,您仍然可以对该值应用任何想要的按位操作。

PS:我遇到了和你一样的问题,当我找不到解决方案时,我感到非常沮丧。

票数 2
EN

Stack Overflow用户

发布于 2015-09-28 20:13:50

它起作用了!

代码语言:javascript
运行
复制
    let width = CGImageGetWidth(image)
    let height = CGImageGetHeight(image)
    let colorSpace = CGColorSpaceCreateDeviceRGB()
    let bytesPerRow = 4 * width;
    let bitsPerComponent :Int = 8
    let pixels = UnsafeMutablePointer<UInt8>(malloc(width*height*4))
    var context = CGBitmapContextCreate(pixels, width, height, bitsPerComponent, bytesPerRow, colorSpace, CGBitmapInfo())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30124271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档