简体   繁体   中英

messageComposeViewController Error in Swift 2

The following code worked in Swift 1.2. Now, I get an error:

"Value of type MessageComposeResult has no member 'value'"

func messageComposeViewController(controller: MFMessageComposeViewController, didFinishWithResult result: MessageComposeResult) {
    switch (result.value) {
    case MessageComposeResultCancelled.value:
        print("Message was cancelled")
        self.dismissViewControllerAnimated(true, completion: nil)
    case MessageComposeResultFailed.value:
        print("Message failed")
        self.dismissViewControllerAnimated(true, completion: nil)
    case MessageComposeResultSent.value:
        print("Message was sent")
        self.dismissViewControllerAnimated(true, completion: nil)
    default:
        break;
    }
}

What member of the result am I supposed to check in order to find the status of the message in Swift 2?

In Swift 2, value does not exist in result .

Use result.rawValue , instead.

use rawValue instead of value

   switch result.rawValue {
    case MessageComposeResult.Cancelled.rawValue:
        print("Message was cancelled")
        controller.dismissViewControllerAnimated(true, completion: nil)

    case MessageComposeResult.Failed.rawValue:
        print("Message failed")
        controller.dismissViewControllerAnimated(true, completion: nil)

    case MessageComposeResult.Sent.rawValue:
        print("Message was sent")
        controller.dismissViewControllerAnimated(false, completion: nil)

    default:
        break
        controller.dismissViewControllerAnimated(true, completion: nil)
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM