如何使用iOSSwift里面的Watson Conversation?

How to use the Watson Conversation inside iOS Swift?

我将根据Build a home assistant mobile application with Watson and IoT Platform services

更新我的定制示例

在这段代码中我得到消息:

无法将类型 'String' 的值转换为预期的参数类型 'InputData?'

如何解决这个问题? 在 documentation of developer cloud/conversation/api 中我可以找到 InputData 的定义,但是 NO 示例如何在 Swift iOS?

    // Based on API Changes
    // ====================
    // Incorrect argument label in call (have 'text:context:', expected 'input:context:')
    // Cannot convert value of type 'String' to expected argument type 'InputData?'
    let request = MessageRequest(input: text, context: self.context)
    self.conversation?.message(workspaceID: Credentials.ConversationWorkspaceID,
                               request: request,
                               failure: failure) {
                                response in
                                print(response.output.text)
                                self.didReceiveConversationResponse(response.output.text)
                                self.context = response.context
                                // issue command based on intents and entities
                                // Additional Properties:
                                // response.context.json -> response.context.additionalProperties
                                print("appl_action: \(response.context.additionalProperties["appl_action"])")
                                self.issueCommand(intents: response.intents, entities: response.entities)
    }

MessageRequest 构造函数的 input 参数接受一个 InputData 对象,它很容易从文本字符串构造。尝试

let input = InputData(text: text)
let request = MessageRequest(input: input, context: self.context)
self.conversation?.message(workspaceID: Credentials.ConversationWorkspaceID,
                           request: request,
                           failure: failure) {