ich mein Programm debuggen, wenn der Wert einer Eigenschaft zu überprüfen, richtig eingestellt ist, habe ich einen Haltepunkt in dieser Funktion:Was sind Nutzdaten in 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
}
der an diese Funktion übergebenen Wert von einem View-Controller ist:
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"))
}
wie Sie sehen können, sowohl die front
und die back
sind Bilder jedoch im Debugger sowohl sie als eine payload_data
erschienen, während der Datentyp andere Werte wie masteryLevel
, algorithm
korrekt sind:
Kann jemand erklären, was das bedeutet? Und was soll ich tun, um stattdessen die normalen Bilddaten zu übergeben?
Update:
Dies ist Memory
Klasse:
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
}
...
}
Für payload_data finden https://medium.com/@ vhart/protocols-generics-and-existential-container-wait-what-e2e698262ab1 # .947l6tczk Wie sieht Ihre Memory-Klasse aus? –
@AndreasOetjen danke, plz siehe das Update –