因此,我将在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
等所有内容,但似乎没有任何效果。那么怎么回事?