0
データを警告なしで保存していますが、データを取得しようとすると何も表示されません。私は問題が何であるかは分かりません。私は、配列を確認しましょう、それがこの警告を与えている:Swift 3:コアデータ "data:<fault>"問題
<Sepet: 0x60000028ab40> (entity: Sepet; id: 0xd000000000240000 <x-coredata://5CDE7285-D461-44FD-AA49-DC6C5A61A9D8/Sepet/p9> ; data: <fault>)]
これは、コアデータを保存するための私のコードです:
@IBAction func addToCardAction(_ sender: UIButton) {
let cell = sender.superview?.superview as! SiparisVerTableViewCell
if cell.countLabel.text == "0"{
print("0'dan büyük olmalı")
}else{
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext
let task = Sepet(context: context)
task.menuimage = "turk-telekom"
task.details = cell.detailsTextView.text!
if cell.detailTextField.text == ""{
task.customerDetails = "Açıklama yok."
}else{
task.customerDetails = cell.detailTextField.text!
}
task.count = cell.countLabel.text!
task.price = cell.priceLabel.text!
print(cell.menuImageView, cell.detailsTextView.text, cell.detailTextField.text, cell.countLabel.text, cell.priceLabel.text)
// Save the data to coredata
print("saved")
(UIApplication.shared.delegate as! AppDelegate).saveContext()
}
}
そして、これは、データとtableView
実装を取得するためのコードです:
func getData() {
do {
sepetContents = try context.fetch(Sepet.fetchRequest())
print(sepetContents)
}
catch {
print("Fetching Failed")
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "sepetCell", for: indexPath) as! SepetTableViewCell
let sepetim = sepetContents[indexPath.row]
if let image = sepetim.menuimage, let details = sepetim.details, let customerDetails = sepetim.customerDetails, let price = sepetim.price, let count = sepetim.count {
cell.menuImageView?.image = UIImage(named: image)
cell.detailsTextView.text = details
cell.customerDetailsLabel.text = customerDetails
cell.priceLabel.text = price
cell.countLabel.text = count
}
return cell
}
私のセル識別子が不足していることがわかりました。ご回答有難うございます。 – winner