ios - swift 3 : Core data "data: <fault>" issue

标签 ios swift core-data

我在没有任何警告的情况下保存数据,但是当我尝试获取数据时,我什么也得不到。我不明白问题是什么。我将检查我的阵列,它会发出此警告:

<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
}

最佳答案

故障没有什么不好,它只是意味着整个对象不是从核心数据加载的,只有基本元数据,这是一种优化措施。每当您访问所需的属性时,它们都会自动加载。

如果您知道无论如何都需要这些属性,您当然可以通过参数化获取请求来预加载关系。

到底什么不起作用?如果您的问题是对象没有在调试器中完全打印,不幸的是它是这样的,LLDB 没有错误的对象。

关于ios - swift 3 : Core data "data: <fault>" issue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44363983/

相关文章:

iphone - UIScrollView覆盖UIButton

objective-c - FilteredArrayUsingPredicate 总是返回 nil NSArray?

objective-c - Core Data sqlite 文件不断增长

ios - NSString stringWithFormat 添加了 "ffffff"

ios - ios:UIAlertView在for循环执行之前立即显示

ios - Actionscript 3 是否有等效的 Reachability 类?

ios Swift 2 读取并返回 CSV 文件数组中的项目

Swift 项目编译时 Xcode 6.0.1 段错误

ios - Xcode 无法使用 Cocoapods 找到引用的 Storyboard

core-data - 将 mogenerator 集成到 Xcode 4 中