Как вызвать .insertText для UITextDocumentProxy из файла swift моего приложения? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть приложение, которое подключается к периферийному устройству BLE и извлекает из него данные.Приложение работает как отдельное приложение (т. Е. Когда оно открыто, оно может связываться с моим периферийным устройством и считывать данные, которые мне нужны.) Я хочу создать собственное расширение клавиатуры для этого приложения, чтобы можно было вставлять данные с моего периферийного устройства.в другие приложения.Я добавил собственное расширение клавиатуры для своего приложения.У меня есть следующее расширение в моем файле KeyboardViewController.swift:

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

func deleteBackward() {

}

}

Теперь я хочу вызвать эту функцию в быстром файле моего приложения (тот, который устанавливает соединение 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()

Приложение и расширение являются целевыми элементами друг для друга.Как получить расширение клавиатуры для вставки данных из моего членского приложения?

...