Ios 如何将参数放入Swift函数中?

Ios 如何将参数放入Swift函数中?,ios,swift,Ios,Swift,我不熟悉斯威夫特 我只想从文件路径调整图像的大小 我将图像更改为UIImage let image = UIImage(contentsOfFile: filePath) 并创建一个函数来调整图像大小 func imageWithImage(image:UIImage, scaledToSize newSize:CGSize) -> UIImage{ UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0);

我不熟悉斯威夫特

我只想从文件路径调整图像的大小

我将图像更改为UIImage

let image = UIImage(contentsOfFile: filePath)
并创建一个函数来调整图像大小

  func imageWithImage(image:UIImage, scaledToSize newSize:CGSize) -> UIImage{
    UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0);
    image.draw(in: CGRect(origin: CGPoint.zero, size: CGSize(width: newSize.width, height: newSize.height)))
    let newImage:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
    UIGraphicsEndImageContext()
    return newImage
  }
我调用函数

let image = UIImage(contentsOfFile: filePath)

let resizedImage = imageWithImage(image: UIImage, scaledToSize: CGSize(width: 100, height: 100))
它显示了错误

Cannot convert value of type UIImage.Type to expected argument type UIImage
如何调用函数
imageWithImage


任何帮助都将不胜感激。

这是一个非常简单的解决方案,您将“UIImage”类型作为参数而不是图像变量发送

更改此行:

let resizedImage = imageWithImage(image: UIImage, scaledToSize: CGSize(width: 100, height: 100))
为此:

let resizedImage = imageWithImage(image: image, scaledToSize: CGSize(width: 100, height: 100))

这是一个非常简单的修复方法,您将“UIImage”类型作为参数而不是图像变量发送

更改此行:

let resizedImage = imageWithImage(image: UIImage, scaledToSize: CGSize(width: 100, height: 100))
为此:

let resizedImage = imageWithImage(image: image, scaledToSize: CGSize(width: 100, height: 100))

你只需要改进你的代码,就像下面我为你改进的一样

let image = UIImage(contentsOfFile: filePath)

let resizedImage = imageWithImage(image: image, scaledToSize: CGSize(width: 100, height: 100))

希望它能对您有所帮助。

您只需要改进代码,如下所示,我为您改进了代码

let image = UIImage(contentsOfFile: filePath)

let resizedImage = imageWithImage(image: image, scaledToSize: CGSize(width: 100, height: 100))

希望它能对您有所帮助。

let resizedImage=imageWithImage(image:image,scaledToSize:CGSize(width:100,height:100)),但它会显示另一个错误
optional type“UIImage?”的值必须解包为类型“UIImage”
let resizedImage=imageWithImage(image:image,scaledToSize:CGSize(width:100,height:100))但是它将显示另一个错误
可选类型“UIImage”的值必须被展开为类型“UIImage”的值
非常感谢,但是更改代码将显示
可选类型“UIImage”的值必须被展开为类型“UIImage”的值,但它是UIImage,为什么会出现错误?这是因为UIImage from filepath的构造函数返回一个可选值,您可以强制将其展开:“image!”但该值可能为零,并会导致崩溃,因此我建议您按如下方式展开:if let image=UIImage(contentsOfFile:filepath){//let resized image…}非常感谢,但是更改代码将显示可选类型“UIImage”的
值必须展开为类型为“UIImage”的值
,但它是UIImage,为什么会出现错误?这是因为来自filepath的UIImage构造函数返回一个可选值,您可以强制展开它:“image!”但该值可能为零,并且会导致崩溃,因此,我建议您这样展开:if let image=UIImage(contentsOfFile:filePath){//let resized image….}谢谢,但是更改代码将显示可选类型“UIImage”的
值必须展开为类型“UIImage”的值
您可以使用“if let”或用于检查值的guard语句不能为零,否则在将来,如果您获得的文件路径为零或错误,则您的应用程序必须崩溃。谢谢,但更改代码将显示可选类型“UIImage”的
值必须取消包装为类型“UIImage”的值
您可以使用“if let”或者检查值的guard语句不能为零,否则在将来,若您得到的文件路径为零或错误,那个么您的应用程序一定会崩溃。