繁体   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