如何从应用程序的swift文件中为UITextDocumentProxy调用.insertText?

时间:2019-02-13 18:20:11

标签: ios swift function custom-keyboard

我有一个连接到BLE外围设备并从中提取数据的应用程序。该应用程序可作为独立应用程序使用(即,当它打开时,它可以与我的外围设备通信并读取我需要的数据。)我想为此应用程序创建一个自定义键盘扩展名,以便可以插入我的外围设备中的数据进入其他应用。我为我的应用程序添加了自定义键盘扩展名。我的KeyboardViewController.swift文件具有以下扩展名:

extension KeyboardViewController {
func insertText(_ text: String) {
    textDocumentProxy.insertText(text)
}

func deleteBackward() {

}

}

现在,我想在我应用的swift文件(用于设置BLE连接并提取数据的文件)中调用此函数。下面的函数在里面

func getdata(data:Data){
    let data = [UInt8](data)
    let dataString = String(bytes:data,encoding: .utf8)
    print("Here")
        if dataString!.count > 1 {
            let forceval = dataString![0..<6]
            let unitcase = dataString![14..<15]
            var units = ""
            switch unitcase{
            case "1":
                units = "N"
            case "2":
                units = "lbf"
            default:
                units = ""
            }
            let forcevalue = forceval+" "+units
            var forcevalues: String
            forcevalues = " " + forcevalue
            AllData.insertText(forcevalues)
            //This is where I think I should be calling my function.
            keyboard.insertText(forcevalue)
        }
    }

键盘是我的KeyboardViewController的实例:

 let keyboard = KeyboardViewController()

应用程序和扩展程序都是彼此的目标成员。如何获得键盘扩展名以从成员应用程序中插入数据?

0 个答案:

没有答案