Ios 有两个属性在具有核心数据的实体之间具有相同的值
对不起,我的问题是noob。我有这个: 现在,Ios 有两个属性在具有核心数据的实体之间具有相同的值,ios,swift,core-data,Ios,Swift,Core Data,对不起,我的问题是noob。我有这个: 现在,Item实体已经创建了dateCreated和title,我希望ItemDetails上的这两个属性相同。 Item将创建这两个属性,因此ItemDetails必须获取该数据 ItemDetails有一个视图控制器,它应该显示这些属性 问题是: 如何使ItemDetails的属性具有与Item的属性相同的数据(或是相同的对象或w/e)?不要直接将dateCreated或title添加到ItemDetails的模型中。在代码中,添加返回parentI
Item
实体已经创建了dateCreated
和title
,我希望ItemDetails
上的这两个属性相同。
Item
将创建这两个属性,因此ItemDetails
必须获取该数据
ItemDetails
有一个视图控制器,它应该显示这些属性
问题是:
如何使
ItemDetails的
属性具有与Item的
属性相同的数据(或是相同的对象或w/e)?不要直接将dateCreated或title添加到ItemDetails的模型中。在代码中,添加返回parentItem.dateCreated
和parentItem.title
的计算属性如果我理解正确,则dateCreated
和title
是项目的属性,因此您的模型应该反映这一点。您不需要项目详细信息
实体,您的项目
实体应如下所示:
extension Item {
@NSManaged var dateCreated: Date
@NSManaged var title: String
}
let item = <your item>
dateLabel.text = item.date
title.text = item.title
然后,对于将显示这些详细信息的视图控制器,您将执行以下操作:
extension Item {
@NSManaged var dateCreated: Date
@NSManaged var title: String
}
let item = <your item>
dateLabel.text = item.date
title.text = item.title
let项=
dateLabel.text=item.date
title.text=item.title
希望有帮助。这似乎是一个奇怪的设计。为什么ItemDetails是一个单独的类,而不仅仅是Item的一部分?嘿,你理解得对!首先是扩展部分,我是否将其放入新的视图控制器swift文件中?第二,我把let item=[Items]()放在daysLabel.text=item.dateCreated中,但它说[Items]没有成员“dateCreated”我做错了什么吗?我只是选择用它来显示项目实体的属性,而不是模型的图片。扩展名本身就是一个文件,是您在创建模型时应该创建的。还记得您是如何选择.xcdatamodeld
并创建实体的吗?下一步通常是告诉Xcode创建您的NSManagedObject子类(编辑器->创建NSManagedObject子类…),如果您这样做了,您应该为您的项实体创建两个文件<代码>Item.swift
和Item+CoreDataProperties.swift
。+CoreDataProperties
文件就是包含扩展名的文件。