UIPasteBoard пункты Любой не Любой? - PullRequest
0 голосов
/ 07 июня 2019

Итак, я собираюсь отправлять данные туда и обратно между двумя приложениями, и я подумал, что поскольку в разных моделях много данных, я могу использовать UIPasteboard.Однако я не могу заставить его работать.Вот код и вопрос.

struct TestModel {
    var value1: Int = 0
    var value2: String = "hi"
}

class ViewController: UIViewController {

    @IBOutlet weak var redView: UIView!

    override func viewDidLoad() {
        super.viewDidLoad()
        let model = TestModel(value1: 1, value2: "hello")
        let testModel = Mirror.init(reflecting: model)

        guard let paste = UIPasteboard.init(name: UIPasteboard.Name(rawValue: "test1"), create: true) else {return}

        let items = testModel.children.map({
            return [$0.label ?? "noLabel": $0.value]
        })

        print(items)
        paste.addItems(items)
        print(paste.items[0]["value1"])
    }
}

print(items) дает мне следующее: [["value1": 1], ["value2": "hello"]] Так что все работает до сих пор.

print(paste.items[0]["value1"]) однако дает мне: <OS_dispatch_data: data[0x2835d3cc0] = { leaf, size = 43, buf = 0x102f18000 }> Ия понятия не имею, как развернуть это, я пытался развернуть его в Int, String, Data, NSData и все, но, кажется, ничего не работает .. так что происходит?

...