我想检查打印语句是否打印“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/