ios - 对于可编码结构,由于 'private' 保护级别,“CodingKeys”无法访问

标签 ios swift struct private codable

我想检查打印语句是否打印“Key: messageTimestamp”,以便我可以定义 let disucssionMessageTimestampKey = DiscussionMessage.CodingKeys.messageTimestamp.stringValue。但我收到错误由于“私有(private)”保护级别而无法访问“CodingKeys”。当我尝试访问定义结构的文件或其他文件中的 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
    }
}

关于ios - 对于可编码结构,由于 'private' 保护级别,“CodingKeys”无法访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65965062/

相关文章:

ios - 如何使用 Mantle 处理意外的数据类型

ios - 给 UIView 圆角

ios - 收集/访问 ResearchKit 结果并保存到文件

c++ - 在 C++ 中处理未终止的 char 数组有多容易?

iphone - 来自ios5的GET和POST请求

iphone - iOS 上有任何使用 Core Text 的优秀文本扩展应用程序吗?

swift - 如何跳过 for-in 循环的迭代(Swift 3)

ios - 需要帮助在 iOS 日历 (Swift) 的事件中保存唯一的自定义标识符

c - 使用 C 中的结构将数据存储到动态数组中

c - 如何在 C 中的同一个 ADT 中使用多种数据类型?