美文网首页CoreData/SQLite/FMDB
Xcode11 iOS13 中coredata强转崩溃 Cou

Xcode11 iOS13 中coredata强转崩溃 Cou

作者: FateOfKing | 来源:发表于2019-12-31 16:24 被阅读0次

一般情况

iOS中coredata 如果需要某个表指定一个类只需要在xcode中设置即可。

例如: image.png
红框部分就是设置的地方。

对应的声明就是

class Order: NSManagedObject {

    @NSManaged var oId: String
}

iOS 13后

但是升级到iOS13后出现了新问题。在iOS13之前的手机上运行

let a = NSEntityDescription.insertNewObject(forEntityName: className, into:managedObjectContext!) as! Order

完全没问题。iOS 13上就会崩溃。报错信息类似这种

Could not cast value of type 'NSManagedObject_Order_' (0x600000177960) to xxxx

经过一番摸索找到了问题修改办法。

解决办法

1 将coredata设置的Current Product Module删除(红框部分)

image.png

2 在Order.swift文件中加入@objc(Order)

import Foundation
import CoreData
@objc(Order)

class Order: NSManagedObject {

    @NSManaged var oId: String
   
}

相关文章

网友评论

    本文标题:Xcode11 iOS13 中coredata强转崩溃 Cou

    本文链接:https://www.haomeiwen.com/subject/lzzboctx.html