gpt4 book ai didi

ios - swift 提示 "extraneous argument label"

转载 作者:IT王子 更新时间:2023-10-29 05:31:00 26 4
gpt4 key购买 nike

尝试开始一些 Swift 工作。我正在使用

var imageData = UIImageJPEGRepresentation(image, compressionQuality:1.0)

但我在调用中收到警告“无关参数标签‘compressionQuality’。我认为在 Swift 中,次要参数要么是必需的,要么是‘允许’被标记的,但这根本不允许我使用它——失败如果我离开它,则构建。因为这是一个系统函数,我不能使用 # 来要求它。但我希望能够命名尽可能多的参数,以使代码对我自己更具可读性,我喜欢 ObjC方法名称,有时会很冗长。

有没有办法设置编译器标志以允许额外的参数标签?

最佳答案

你不能那样做,因为那个函数没有声明任何外部参数名称。内部参数名称只能在声明它们的函数中使用。

在 Swift 中 UIImageJPEGRepresentation方法声明为:

func UIImageJPEGRepresentation(_ image: UIImage!,
_ compressionQuality: CGFloat) -> NSData!

检查两个参数,它们都只有内部名称所以你不能使用:

var imageData = UIImageJPEGRepresentation(image, compressionQuality:1.0)

将其更改为:

var imageData = UIImageJPEGRepresentation(image,1.0)

更新 Swift 4.2:

在 swift 4.2 中,上述方法不再可用。而不是你需要使用:

// For JPEG
let imageData = image.jpegData(compressionQuality: 1.0)

// For PNG
let imageData = image.pngData()

有关更多信息,请参阅 API 文档:Images & PDF

关于ios - swift 提示 "extraneous argument label",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27085490/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com