Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 更新到Swift 2.0时出现代码问题&引用;无法转换值..”;_Ios_String_Swift_Arguments - Fatal编程技术网

Ios 更新到Swift 2.0时出现代码问题&引用;无法转换值..”;

Ios 更新到Swift 2.0时出现代码问题&引用;无法转换值..”;,ios,string,swift,arguments,Ios,String,Swift,Arguments,我已经将Swift更新为2.0,并自动转换了代码,但我看到了一些错误,我希望修复这些错误 其中之一是:“无法将“[AnyObject]”类型的值转换为预期的参数类型“[String]” 创建此VC的目的是启动电子邮件屏幕,以帮助用户与我联系 func Lanzar电子邮件中的以下行中有错误: mailController?.setToRecipients(收件人) 守则: import UIKit import MessageUI class tuPropiaHistoriaVC: UIVie

我已经将Swift更新为2.0,并自动转换了代码,但我看到了一些错误,我希望修复这些错误

其中之一是:“无法将“[AnyObject]”类型的值转换为预期的参数类型“[String]”

创建此VC的目的是启动电子邮件屏幕,以帮助用户与我联系

func Lanzar电子邮件中的以下行中有错误:

mailController?.setToRecipients(收件人)

守则:

import UIKit
import MessageUI

class tuPropiaHistoriaVC: UIViewController,MFMailComposeViewControllerDelegate {

var alert: UIAlertView?
var subjectText:String?
var destinatario:AnyObject!
var mailController:MFMailComposeViewController?

@IBOutlet weak var scrollView: UIScrollView!

override func viewDidLoad() {
    super.viewDidLoad()

    //Recipients
    subjectText = "Mi historia de éxito / superación."
    destinatario = "1234@hotmail.es"

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}


@IBAction func lanzarEmail(sender: AnyObject) {

    if(MFMailComposeViewController.canSendMail()){


        //AlertView
        alert = UIAlertView()
        alert!.addButtonWithTitle("Ok")

        mailController = MFMailComposeViewController()
        //asignar delegado al controlador de email
        mailController?.mailComposeDelegate = self




        //Completar objeto mailController

        mailController?.setSubject(subjectText!)

        var recipients = [destinatario]

        mailController?.setToRecipients(recipients)
        self.presentViewController(mailController!, animated: true, completion: nil)

    }else
    {
        let sendMailErrorAlert = UIAlertView(title: "No se puede enviar Email", message: "Por favor configura tu app Mail para poder enviar correos", delegate: self, cancelButtonTitle: "Entendido")
        sendMailErrorAlert.show()
        self.dismissViewControllerAnimated(false, completion: nil)

    }






}


func  mailComposeController(controller: MFMailComposeViewController, didFinishWithResult result: MFMailComposeResult, error: NSError?) {


    switch result.rawValue {

    case MFMailComposeResultCancelled.rawValue:
        //se cancelo envio
        alert!.title = "Envio cancelado"
        alert!.message = "Se canceló el envio"
        alert!.show()

    case MFMailComposeResultSaved.rawValue:
        //se guardo draft
        alert!.title = "Correo guardado"
        alert!.message = "Se guardó el correo en la app de Mail"
        alert!.show()

    case MFMailComposeResultFailed.rawValue:
        //fallo el envio
        alert!.title = "Error"
        alert!.message = "El correo no pudo ser enviado"
        alert!.show()

    case MFMailComposeResultSent.rawValue:
        //el mail se pudo enviar y esta en la pila de envio
        alert!.title = "Correo enviado"
        alert!.message = "El correo se envió exitosamente"
        alert!.show()

    default:
        break


    }


    mailController?.dismissViewControllerAnimated(true,

        //Clousure a ejecutar al finalizar de mostrar la vista

        completion: { () -> Void in


            //Cerrar pantalla del view base, requiere que la conexion entre pantallas sea del tipo seague
            self.dismissViewControllerAnimated(true, completion: nil)



    })



}



}

尝试将行
var destinatario:AnyObject!
更改为
var destinatario:String!
。或更改为
let destinatario=”1234@hotmail.es“
如果是常量值

mailController的方法
setToReceipents
签名看起来像
func setToRecipients(recipients:[String])
(实际上,这是属性
var recipients:[String]
)。但您传递的是
AnyObject
的数组,而不是
String
的数组