Tag: 核心数据

核心数据获取与瞬态关系谓词!=无

在我的实体中有一个临时的可选关系(不是相反的) 。 获取谓词 NSPredicate(format: "name LIKE\(option) (%@) AND tc!=nil", name) 没有给出结果,这不是预期的结果。 tc是从另一个关系计算出来的。 如果AND和“AND”之后的部分被移除,则取得效果很好。 瞬态属性是这样实现的: public var tc : TC? { self.willAccessValue(forKey: "tc") self.didAccessValue(forKey: "tc") return friend?.parent } 我注意到,这个tc访问器内部的debugging断点没有打到 。 控制台中没有打印错误信息。 我错过了什么? 编辑: 读完Ron的评论后,我search了更多,发现: 与NSPredicate兼容的核心数据类似于瞬态的属性这对我来说不是一种select,因为实际的瞬态关系计算起来比较昂贵。 如何使用链式虚拟财产的NSPredicate? NSPredicate不能使用计算字段 核心数据:使用瞬态属性作为标准进行search 具有瞬态属性的答案是一样的。 起初我没有find。 也许我太专注于nil或relationship 。 只要不是暂时的,我们可以通过与nil的关系来获取: iPhone SDK的核心数据:获取所有实体与零关系? 苹果关于瞬态属性的文档在这里 。

地址簿和核心数据

我试图做一个应用程序,将地址簿联系人的ID存储到一个SQLite文件使用核心数据。 我的问题是我想要随机请求这些ID,并且联系人ID是不可靠的,因为联系人ID可能存在差距,所以我想有一种索引属性,我可以做我的随机,永远不会在索引中有差距,如果我从我的数据库中删除一些ID,我想确保索引是重新索引(不知道如果索引是正确的名称,也许是一个关键)。 核心数据是否自动实现? 它是否创build了我默认创build的任何数据模型的关键? 如果是这样,我可以访问并利用它吗? 如果我删除一行会怎么样? 对不起,这可能是一个初步的问题。 另外,当地址簿更改ABAddressBookRegisterExternalChangeCallback(addressBook, addressBookChanged, *context)时更新我的​​SQLite文件最好的办法是什么? 我将不得不重写整个地址簿到我的SQLite?

核心数据上下文和单身数据控制器

我有一个单身数据控制器来保存一个对象的数组。 看看我的解决scheme香蕉问题: singelton dataController banansArray 现在我想将香蕉arrays保存到持久状态。 这个核心数据教程: 核心数据存储图像使我对Core Data有了很好的总体理解,在将我的数据Controller更改为singleton之前,我可以将它包含在我的应用程序中。 现在什么是最好的? 我是否需要将生成的核心数据堆栈在应用程序委托内移动到pipe理香蕉数组的单一数据控制器? 或者,我必须像使用Core Data模板生成的Master-View控制器那样在应用程序委托中设置单例的上下文? 在那种情况下,我如何在appDelegate中设置上下文? 这在AppDelegate应用程序didFinishLaunchingWithOptions:不起作用(它适用于模板中的masterView) didFinishLaunchingWithOptions: DataControllerSingleton *dataController; dataController.managedObjectContext = self.managedObjectContext; 在提供的beerDataModel示例中,ManagedObjectCode是: if (_mainContext == nil) { _mainContext = [[NSManagedObjectContext alloc] init]; _mainContext.persistentStoreCoordinator = [self persistentStoreCoordinator]; }

嵌套子查询无法编译的NSPredicate(核心数据)

我的相关部分的CoreDate DB Category<–>>Subcategory<–>>Gym<<–>>Membership 我试图让所有拥有至less一个健身房的用户拥有活跃会员资格的类别。 我有一个数组与所有用户的活跃成员资格uid(每个成员资格都有一个在数据库中的uid)我想下面的查询不能编译,我甚至把它确定为子string,以确保没有错误: NSString *shopsSubquery = [NSString stringWithFormat:@"(SUBQUERY($y.programs,$z, $z.uid IN %@).@count > 0)",activeProgramsUIDsArray]; NSString *subcategorySubquery = [NSString stringWithFormat:@"(SUBQUERY($x.gyms,$y, %@).@count > 0)",shopsSubquery] ; predicate = [NSPredicate predicateWithFormat:@"(SUBQUERY(subcategories, $x, %@).@count > 0)", subcategorySubquery]; 编译器对于问题的根源是非常没有帮助的。 我已经重写了这个谓词超过了10次,什么都可以弄清楚我错过了什么?

通过NSPredicate和NSDate使用核心数据

我有一个Event表,保存NSString *action和NSDate *date 。 我想过滤从核心数据中检索的数组,以显示在最后一小时和下一小时中执行的所有操作,而不取决于它保存的那一天。 星期二的例子在16:00保存了一个动作,但是今天是星期五17:00,我仍然想要检索星期二保存的动作以及该时间范围内的任何动作。

查看或从设备中检索Core Data .sqlite文件

我怎样才能真正看到真正的设备(而不是模拟器)上的核心数据存储的.sqlite文件? 有没有工具可以让你看到核心数据信息?

如果语句失败与CoreData托pipe对象的variables

我在pipe理对象方面遇到了一些麻烦…想象一下。 这是一个真正的愚蠢,也许有人可以帮助。 所以我有一个名为“Format”的pipe理对象类,它是一个实体。 无论如何,它有一个名为“槽”属性是一个NSNumber。 现在数字可以有从零到四的值,但是如果它没有值,那么我希望NSNumber对象等于“零”而不是零。 我没有什么运气,因为显然是零,就像“零”一样。 啊。 (有没有办法告诉指针是否只是空的,“零”,而不是指向一个零值?) 无论如何,我尝试了一个解决方法,就是将variables显示为文本,如下所示: if(@"myFormat.slot" != @"(null)") NSLog(@"slot==%@",myFormat.slot); 但问题是,我在我的日志中得到这个: slot==(null) 所以,好吧…什么? 如果@“myFormat.slot”== @“(null)”,那么,如果语句parsing…?!?! 我现在真的很困惑…请别人帮我。

在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 […]

核心数据关系 – 添加到现有值

我正在设置input的核心数据值之间的关系。 我现在已经build立了,所以当我添加它创build关系的价值,在我可以查看详细视图相应的实体。 我想要实现的是将关系添加到stringRoutineText的实体内的现有值。 因此,而不是创build第二个相同的条目关系被添加到新条目。 所以在详细视图中这两个条目将是可见的。 input值的当前情况 所以,而不是创build: TestName1 —-> TestName1Detail TestName1 —-> TestName2Detail 它会创build: TestName1 —-> TestName1Detail + TestName2Detail NSManagedObjectContext *context = [self managedObjectContext]; // Create a new device ExcerciseInfo *info = [_fetchedResultsController objectAtIndexPath:indexPath]; Routines *routineEntity = [NSEntityDescription insertNewObjectForEntityForName:@"Routines"inManagedObjectContext:context]; RoutinesDetails *routineEntityDetail = [NSEntityDescription insertNewObjectForEntityForName:@"RoutinesDetails" inManagedObjectContext:context]; //Create Relationship [routineEntity addRoutinedetObject:routineEntityDetail]; //Add attribute values //[routineEntity setValue: RoutineText […]

如何用用户定义的ID删除CoreData对象?

我有这样的对象 @interface Clubs : NSManagedObject @property (nonatomic, retain) NSString * catname; @property (nonatomic, retain) NSString * clubdescription; @property (nonatomic, retain) NSString * clubid; @property (nonatomic, retain) NSString * clubname; @property (nonatomic, retain) NSString * distance; @property (nonatomic, retain) NSString * logopath; @property (nonatomic, retain) NSString * phone; @property (nonatomic, retain) NSString * clubtype; @end 我想只删除那些对象有特定的clubid? […]