我有一對實作 XPC 主應用程式 服務應用程式模式的 Swift Xcode 目標。我想出了如何來回傳遞自定義類,或者作為遠程物件方法的引數或“回傳值”(即,完成處理程式/回復塊的引數)。這一切都很好。
現在我正在嘗試添加一個新問題:使用來自服務的自定義類的 NSArray 呼叫完成處理程式,以將它們回傳到主應用程式。我從
如果您發布的界面看起來像
@objc func ReadAllSnapshotsRpc(then completion: @escaping (NSArray?, Error?) -> Void)
即,如果您將回傳一個不透明的未知陣列,但您回傳顯式型別的物件,那么其他所有內容都NSSecureCoding按照說明進行。
更新:錯誤說明的原因在于解碼 - 解碼所有類都應該被列舉。以下是固定變體:
public required init?(coder: NSCoder) {
guard
let partials = coder.decodeObject(of: [NSArray.self, PartialSnapshot.self], forKey: "partials") as? [PartialSnapshot]
else {
NSLog("ReadAllSnapshotsRpcReturnType: returning nil from init?()")
return nil
}
self.partials = partials
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/494334.html
