通过NSFetchedResultsController swift iOS访问非持久性变量
是否可以通过通过NSFetchedResultsController swift iOS访问非持久性变量,ios,swift,core-data,nsfetchedresultscontroller,Ios,Swift,Core Data,Nsfetchedresultscontroller,是否可以通过NSFetchedResultsController访问非持久性变量 我正在使用核心数据创建联系人实体。 我又添加了一个变量,我不想持久化,我只希望这个变量在应用程序活动范围内,然后放弃 import CoreData class Contact: NSManagedObject { // Insert code here to add functionality to your managed object subclass var incomingRequest =
NSFetchedResultsController
访问非持久性变量
我正在使用核心数据创建联系人实体。我又添加了一个变量,我不想持久化,我只希望这个变量在应用程序活动范围内,然后放弃
import CoreData
class Contact: NSManagedObject {
// Insert code here to add functionality to your managed object subclass
var incomingRequest = false <———————— temporary variable
override init(entity: NSEntityDescription, insertIntoManagedObjectContext context: NSManagedObjectContext?) {
super.init(entity: entity, insertIntoManagedObjectContext: context)
}
}
导入核心数据
班级联系人:NSManagedObject{
//在此处插入代码以向托管对象子类添加功能
var incomingRequest=false
通过获取NSFetchedResultsController
,是否有任何解决方法来获取以前设置的incomingRequest值
不,因为没有任何以前设置的值。如果您多次执行相同的获取,则不能保证获得相同的对象实例。如果您从不同的托管对象上下文执行获取,尤其是保证不获取相同的对象,这一点尤其正确。它们在per中表示相同的实例sistent存储,但它们在内存中不是同一个对象
因此,您在一个对象上将incomingRequest
设置为true
,然后使用“获取结果”控制器获取另一个对象。但是您没有在另一个对象上设置incomingRequest
,因此它获取默认值
是否在数据模型中包含incomingRequest
,取决于该值的含义和使用方式。这可能是正确的答案。您可能更喜欢将一组NSManagedObjectID
s作为传入请求集合,这样您就可以始终确定是否应将获取的对象视为有一个传入的请求
通过获取NSFetchedResultsController
,是否有任何解决方法来获取以前设置的incomingRequest值
不,因为没有任何以前设置的值。如果您多次执行相同的获取,则不能保证获得相同的对象实例。如果您从不同的托管对象上下文执行获取,尤其是保证不获取相同的对象,这一点尤其正确。它们在per中表示相同的实例sistent存储,但它们在内存中不是同一个对象
因此,您在一个对象上将incomingRequest
设置为true
,然后使用“获取结果”控制器获取另一个对象。但是您没有在另一个对象上设置incomingRequest
,因此它获取默认值
是否在数据模型中包含incomingRequest
,取决于该值的含义和使用方式。这可能是正确的答案。您可能更喜欢将一组NSManagedObjectID
s作为传入请求集合,这样您就可以始终确定是否应将获取的对象视为收到传入请求。非常感谢您的回答,我忘了尝试NSManagedObjects选项,现在我尝试了它,它对我有效!现在我将所有传入请求的联系人的NSManagedObjects存储在一个数组中,并在该数组中迭代。再次感谢(y)非常感谢您的回答,我忘了尝试NSManagedObjects选项,现在我尝试了,它对我有效!现在我将所有作为传入请求的联系人的NSManagedObjects存储在一个数组中,并在该数组中进行迭代。再次感谢(y)