Я отладка моей программы, чтобы проверить, если значение свойства установлено правильно, я поставил точку останова в этой функции:Что такое данные полезной нагрузки в iOS?
func showContent(data: Any) -> UIView {
// breakpoint here
var contentView = UIView()
if let image = data as? UIImage {
let imageView = UIImageView()
imageView.image = image
contentView = imageView
}
if let text = data as? String {
let label = UILabel()
label.centerYAnchor.constraint(equalTo: self.centerYAnchor).isActive = true
label.centerXAnchor.constraint(equalTo: self.centerXAnchor).isActive = true
label.text = text
contentView = label
}
return contentView
}
значение, передаваемое эту функцию от контроллера вида:
override func viewDidLoad() {
calcGroupFamiliarity()
flashCardView.linkedMemory = Memory(masteryLevel: 1, algorithm: Algorithm.algorithm1.chooseAlgorithm(), forgetRatio: 0, lastStudyTime: Date(), front: #imageLiteral(resourceName: "Ideas-Blue"), back: #imageLiteral(resourceName: "Ideas-Yellow"))
}
, как вы можете видеть, как front
и back
образы, однако, в отладчике они оба появились как некоторые payload_data
, в то время как тип данных других значений, таких как masteryLevel
, algorithm
правильны:
Может кто-нибудь объяснить, что это значит? И что мне делать, чтобы передавать нормальные данные изображения?
Update:
Это Memory
класс:
class Memory: NSObject, NSCoding {
var masteryLevel: Int
var algorithm: [Int: Double]
var forgetRatio: Int
var lastStudyTime: Date
var strength: Double = 0
var front: Any
var back: Any
static let DocumentsDirectory = FileManager().urls(for: .documentDirectory, in: .userDomainMask)[0]
static let ArchiveURL = DocumentsDirectory.appendingPathComponent("Memory")
init(masteryLevel: Int, algorithm: [Int: Double], forgetRatio: Int, lastStudyTime: Date, front: Any, back: Any){
self.masteryLevel = masteryLevel
self.algorithm = algorithm
self.forgetRatio = forgetRatio
self.lastStudyTime = lastStudyTime
self.front = front
self.back = back
}
...
}
Для payload_data см https://medium.com/@ vhart/protocols-generics-and-existential-container-wait-what-e2e698262ab1 # .947l6tczk Как выглядит ваш класс памяти? –
@AndreasOetjen спасибо, плз см. Обновление –