首页 > 解决方案 > UIPasteBoard 项目 Any 不是 Any?

问题描述

所以我要在 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 }> 而且我不知道如何打开它,我已经尝试将它打开到Int, String, Data,NSData和所有东西,但似乎没有任何效果.. 那是怎么回事?

标签: swiftanyuipasteboard

解决方案


推荐阅读