簡體   English   中英

對於 Codable 結構,由於“私有”保護級別,“CodingKeys”不可訪問

[英]'CodingKeys' is inaccessible due to 'private' protection level, for a Codable Struct

我想檢查打印語句是否打印 "Key: messageTimestamp" 以便我可以定義let disucssionMessageTimestampKey = DiscussionMessage.CodingKeys.messageTimestamp.stringValue 但是我收到一個錯誤'CodingKeys' is inaccessible due to 'private' protection level 當我嘗試訪問定義結構的文件或其他文件中的CodingKeys時出現此錯誤。 我錯過了什么? 有沒有辦法我可以訪問默認的CodingKeys

struct DiscussionMessage: Codable {
    let message, userCountryCode, userCountryEmoji, userName, userEmailAddress: String
    let messageTimestamp: Double
    let fcmToken, question, recordingUrl, profilePictureUrl: String?
}

let disucssionMessageTimestampKey = "messageTimestamp"

print("Key: ", DiscussionMessage.CodingKeys.messageTimestamp.stringValue)

我正在使用以下代碼。 不是最理想的解決方案,如果我可以訪問默認的CodingKeys會更好

struct DiscussionMessage: Codable {
    let message, userCountryCode, userCountryEmoji, userName, userEmailAddress: String
    let messageTimestamp: Double
    let fcmToken, question, recordingUrl, profilePictureUrl: String?
    
    enum CodingKeys: CodingKey {
        case message, userCountryCode, userCountryEmoji, userName, userEmailAddress
        case messageTimestamp
        case fcmToken, question, recordingUrl, profilePictureUrl
    }
}

暫無
暫無

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

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