UIPasteBoard物品是否不?

时间:2019-06-07 06:56:47

标签: swift any uipasteboard

因此,我将在2个应用程序之间来回发送数据,我认为由于这是不同模型中的大量数据,因此我可以使用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 }> 而且我不知道如何解包,我尝试将其解包到IntStringDataNSData等所有内容,但似乎没有任何效果。那么怎么回事?

0 个答案:

没有答案