在Swift中控制器之间的Coredata对象
我将ViewcontrollerA中的Article对象传递给ViewcontrollerB。 但是输出是不同的。 我无法弄清楚为什么实体在ViewcontrollerB中为null。
我用以下代码在两个控制器中打印Article对象。
print(String(describing:listOfArticles))
产量
ViewcontrollerA。
<Article: 0x600000281810> (entity: Article; id: 0xd00000000168001c <x-coredata://949275DD-E091-49E8-A0D0-2C362B616F97/Article/p90> ; data: <fault>)
ViewcontrollerB。
Optional(<Article: 0x600000283610> (entity: <null>; id: 0xd0000000000c0012 <x-coredata://949275DD-E091-49E8-A0D0-2C362B616F97/Article/p3> ; data: <fault>))
在ViewcontrollerB entity: <null>;
总是空的。 当我尝试使用该对象时,它正在崩溃。
推ViewcontollerA代码: –
guard let viewArticelArray = topStories_presenter.fetchAllAritcleForTopStories(fetchedResultsController:fetchedResultsController) else { return } let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "NewsCollectionViewController") as! NewsCollectionViewController vc.listArticle = viewArticelArray[0] parentNavigationController!.pushViewController(vc, animated: true)
ViewcontollerB
var listArticle :Article! override func viewDidLoad() { super.viewDidLoad() print(String(describing:listArticle)) }
FetchResultViewController代码:
fileprivate lazy var fetchedResultsController: NSFetchedResultsController<TopStorie> = { // Create Fetch Request let moc = CoreDataHelper().managedObjectContext let fetchRequest: NSFetchRequest<TopStorie> = TopStorie.fetchRequest() // Configure Fetch Request fetchRequest.sortDescriptors = [NSSortDescriptor(key:"typeid", ascending: true)] fetchRequest.predicate = NSPredicate(format: "category contains[c]%@", self.title!) // Create Fetched Results Controller let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext:moc, sectionNameKeyPath:"typeid", cacheName: nil) // Configure Fetched Results Controller fetchedResultsController.delegate = self return fetchedResultsController }()
- 魔法logging保存在后台
- NSFetchedResultsController是否观察到永久存储的所有更改?
- 没有出现保存的图像
- 使用Swift将CoreData实现到现有项目中
- RestKit对象映射:使用setObjectMapping的困难:forResourcePathPattern:withFetchRequestBlock
- 核心数据当插入〜5000行时,sqlite-wal文件会获得MASSIVE(> 7GB)
- 使用Objective Cjoincoredata
- NSFetchedResultsController的节名称与pipe理对象值不匹配
- iOS RestKit无法将本地实体保存到数据库