완성 처리기 내에 함수를 포함 할 수 있습니까?
사용자가 활동 컨트롤러에서 동일한 이미지를 공유 한 후 함수를 통해 이미지를 저장하려고합니다. 다음을 원합니다 :완성 처리기 내에 함수를 포함 할 수 있습니까?
let controller = UIActivityViewController(activityItems: [generateMemedImage()], applicationActivities: nil)
self.presentViewController(controller, animated: true, completion: nil)
controller.completionWithItemsHandler = {
// Have this save() function when the activity has been completed
func save() {
//Save the meme
let meme = Meme(topText: self.upperTextField.text!, lowerText: self.lowerTextField.text!, originalImage:
self.imageRetrieved.image!, memedImage: generateMemedImage())
}
}
더 좋은 해결책이 있습니까? 아니면 어떻게해야합니까?
컨트롤러를 선언 한 곳과 같은 클래스에서 저장 함수를 작성한 다음 완료 핸들러에서이를 캡처하도록 할 수없는 이유는 무엇입니까? 핸들러에서 self.save()를 호출하십시오. – bolnad
Daniel 감사합니다! 나는 당신의 제안을 사용하여 그것을 구해 냈다. 자네 말이 맞다. 내게 전화하는 것보다 완성 처리기 안에있는 기능을 갖기를 바보 취급했다. 잘됐다. 감사! –