【问题标题】:'Extra argument in call' when passing arguments to my method将参数传递给我的方法时出现“调用中的额外参数”
【发布时间】:2016-02-19 03:28:38
【问题描述】:

我的班级有两个功能。编译器抱怨调用另一个函数的函数。它总是抱怨第二个参数,所以如果我删除第二个参数,它会抱怨新的第二个参数。我还尝试删除除第一个以外的所有参数,它告诉我“无法将类型''的值转换为预期的参数类型'SaveImages'”。 SaveImages 是我班级的名称。我无法弄清楚我做错了什么。

这是我的代码:(如果需要,我可以包含更多代码)

import UIKit
import CoreData

class SaveImages: NSObject {

func saveData(originalImageData: NSData, resizedImageData: NSData, imageID: Int, filterID: Int) {
  //function code
}

class func saveImage(imageData: NSData, filterID: Int) { 
  //function code (sets variables for the arguments)

    saveData(original, resizedImageData: resized, imageID: id, filterID: filter) //error here

    }
}

【问题讨论】:

  • saveData 不是类函数,因此必须在SaveData 的实例上调用它,不能只从类函数调用它
  • 哦。我懂了。谢谢你回答了我的问题。我将在下面发布答案。

标签: ios swift compiler-errors


【解决方案1】:

问题是我没有在 SaveImages 实例上调用该函数,因为 saveData 不是类函数,但我试图从类函数中调用它。

我改变了这个:

saveData(original, resizedImageData: resized, imageID: id, filterID: filter)   

到这里:

SaveImages().saveData(original, resizedImageData: resized, imageID: id, filterID: filter)

现在一切正常。感谢 Paulw11 的评论。

【讨论】:

    猜你喜欢
    • 2017-04-09
    • 2012-01-04
    • 1970-01-01
    • 2019-02-04
    • 2020-08-22
    相关资源
    最近更新 更多