Nil 与预期的参数类型 'UIImage' 不兼容

Ang*_*rus 2 ios swift

这是我的代码

self.plistModification(urlStr: urlString, uploadedImage:nil )
Run Code Online (Sandbox Code Playgroud)

我可以知道如何将图像值分配给 nil。

下面给出了我的 plistModification 函数,每次调用该函数时,uploadedImage 值(UIImage)都会更改。

   func plistModification(urlStr : String , uploadedImage : UIImage)
{
    self.activityView.isHidden = false
    SBNetworkManager().getDetails(sortType: "", URLString: urlStr, param: "") { (dictList, error) in


            self.imageUpload(imageData: uploadedImage)

            DispatchQueue.main.async {
                self.activityView.isHidden = true
            }
            if self.flag == 1
            {
                GIDSignIn.sharedInstance().signOut()
            }

        }
        else
        {
            DispatchQueue.main.async {
                self.activityView.isHidden = true
                if self.flag == 1
                {
                    let alert = UIAlertController(title: "Alert", message: dictList!["status_message"]as? String, preferredStyle: .alert)
                    let alertAction = UIAlertAction(title: "Ok", style: .default, handler: { (action) in
                        GIDSignIn.sharedInstance().signOut()
                    })
                    alert.addAction(alertAction)
                    self.present(alert, animated: true, completion: nil)
                }
            }

        }
Run Code Online (Sandbox Code Playgroud)

Saz*_*bal 5

您可以像这样添加空图像

  self.plistModification(urlStr: urlString, uploadedImage:UIImage() )
Run Code Online (Sandbox Code Playgroud)

或者您可以将方法参数设置为可选的,例如

   func plistModification(urlStr: String, uploadedImage:UIImage?)
Run Code Online (Sandbox Code Playgroud)

在第二个选项中,您可以传递 nil 值

  • @sazidThanks 第二个帮助我。:) (4认同)
  • 只是添加到 Sazid 的答案中,如果您为函数声明设置默认值,则在函数调用期间根本不必传递值。"func plistModification(urlStr: String, UploadedImage:UIImage? = nil)" 然后是 "self.plistModification(urlStr: urlString)" (2认同)