簡體   English   中英

transferUserInfo(_:) 不支持發送類

[英]transferUserInfo(_:) doesn't support sending classes

我正在嘗試使用 WatchConnectivity 庫將數據從我的手表傳輸到我的 iPhone。 使用 transferUserInfo(_:) 方法,我發現我可以傳輸任何結構,如 Int、Double 或 String,但我無法傳輸帶有數據的類。

有趣的是,文檔將功能描述為:

func transferUserInfo(_ userInfo: [String : Any] = [:]) -> WCSessionUserInfoTransfer

因此,我會將 Any 視為結構或類的任何內容。 我沒有具體讀到該方法不支持傳輸類。 我應該從參數描述中的句子中讀到這一點:“您要發送的屬性列表字典”嗎?

有沒有人對這種方法有比我從信息中獲得的更好的見解?

該文檔指定userInfo參數為:

您要發送的屬性列表值的字典

“屬性列表”這一點很重要。 如果您查看屬性列表編程指南,我們可以看到屬性列表值的數據類型是:

CFString、CFNumber、CFBoolean、CFDate 和 CFData

(當我們在這些上下文中使用它們時,它們會橋接到適當的 Objective-C 和 Swift 類型。此外,這些類型的字典和數組也有效。)

嘗試在userInfo包含您自己的class類型作為值(盡管它不會引發編譯時錯誤)不應在運行時傳輸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM