如何将此代码行转换为swift 3?
activeConversation?.insert(MSMessage, localizedChangeDescription: "photo.jpg", completionHandler: { (error: Error?) in ... }
这是例行程序:
import UIKit
import Messages
class MessagesViewController: MSMessagesAppViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
@IBAction func sendMessageButtonPressed() {
let components = NSURLComponents()
let layout = MSMessageTemplateLayout()
layout.caption = "textbook"
layout.image = UIImage(named: "textbook.jpg")!
let message = MSMessage()
message.url = components.url!
message.layout = layout
self.activeConversation?.insert(MSMessage, localizedChangeDescription: "photo.jpg", completionHandler: { (error: Error?) in
...
})
...
}
}
我遇到了这个错误:
无法使用类型的参数列表调用'插入'(msmessage.type,lotizizedChangeDescription:string,plotehhandler :( nserror?) ->())'
第一个参数应该是 MSMessage
的实例,而不仅仅是类型声明。
但是我在当前API中看不到insertMessage:localizedChangeDescription:completionHandler:
。但是我确实看到insert(_:completionHandler:)
的标题引用了insertMessage:localizedChangeDescription:completionHandler:
,这使我怀疑localizedChangeDescription
参数虽然可能是API的一部分,但不再是。
在评论中,您向我们展示了您对该MSMessage
实例的创建。我怀疑您应该使用它,但是没有任何localizedChangeDescription
:
activeConversation?.insert(message) { error in
guard error == nil else {
print("error: (error!)")
return
}
// do whatever you want upon success here
}