2016-09-20 3 views
5

내 애플리케이션을 swift 3.0으로 변환했으며 MailComposeController에 문제가 있습니다. 내가 함수를 호출 할 때 : 모든MailComposer didFinishWith 결과가 Swift 3.0에서 작동하지 않습니다.

`func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?){ 
    controller.dismiss(animated: true, completion: nil) 
}` 

먼저 나는 정보에 오류가 있습니다 : 나는 복사 MFMailComposeViewControllerDelegate에서이 방법을 붙여 렸기 때문에 enter image description here

제에 대한 이상한 것입니다. ErrorNSError으로 변경하면 작동하지만 경고가 표시됩니다.이 경고는이 경고를 피하기 위해 개인적으로 사용해야합니다.

내가 mailComposer에 있는데 전자 메일을보고 Cancel을 누르면이 컨트롤러가 사라지지 않습니다. 이 컨트롤러를 닫는 방법은 무엇입니까?

+0

같은 코드가 나를 위해 잘 작동합니다. 코드를 정리하고 다시 작성 했습니까? –

+0

예, 할 수있는 모든 작업을 수행하지만 여전히이 바보 같은 오류가 있습니다 – PiterPan

답변

10

RealmSwift을 가져 오기 때문에 동일한 문제가 발생했습니다.이 자체는 Error 구조체입니다.

원하는 오류 유형을 지정하여 문제를 해결하십시오. 이 경우 Swift.Error입니다.

전체 코드 :

 
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Swift.Error?){ 
    controller.dismiss(animated: true, completion: nil) 
} 
+0

F * cking 명명 문제. 자신 만의'Error' 클래스를 만들면 더욱 재미 있습니다. – fnc12

관련 문제