Tag: 核心数据

使用核心数据swift ios将实体的所有属性获取到tableview中的行中的标签

我已经定义了两个属性名称和描述到一个名为Forms的实体,我想检索第一个标签中的名称和desc在第二个标签中的一行tableview 我所做的 我可以检索的东西 我希望将这些所有值都打印在每个单元格中,而不是每次都重复单元格单元格 let context = appDel.persistentContainer.viewContext let results = try! context.fetch(request) for result in results as! [NSManagedObject] { let formNameIs = result.value(forKey: "formName") as? String let formDescIs = result.value(forKey: "formDesc") as? String cell.titleLabel.text = formNameIs! cell.descLabel.text = formDescIs print(formNameIs!, formDescIs!) }

删除子视图,然后将其添加回来

我有一个渐变子视图的UICollectionViewCell 。 在我的视图控制器,我有buttonsortingCoreData,然后在UICollectionView reloadData() 。 为了避免我的渐变子视图被一次又一次地绘制(就像它发生在过去一样),我在prepareForReuse()实现了removeFromSuperview() prepareForReuse() 。 在那里,我还实现了一个标志,以跟踪渐变的存在,所以当单元格加载时,我仍然添加一个新的渐变。 但是在删除渐变后,我的willMove(toSuperview: )不起作用,并且不显示渐变视图。 我的逻辑有什么问题? class CollectionCell: UICollectionViewCell { @IBOutlet weak var mealImg: UIImageView! @IBOutlet weak var mealTitleLbl: UILabel! @IBOutlet weak var gradientView: UIView! var gradientWasRemoved = false func configureCell(meal: Meal) { mealTitleLbl.text = meal.title let img = meal.getMealImage() mealImg.image = img addGradient() } func addGradient () { […]

NSPredicate在多对多关系中计数> 0

我在CoreData中有三个层次的对象:假设实体A有一组实体B,而实体B有一组实体C。 (多对多B和B多对多C) 我想要得到所有的实体A,使得有B和C。 我试图使用一个谓词时提取实体A: NSPredicate(format: "ANY bs.cs.@count > 0")'但我得到这个错误: Unsupported function expression count: (bs.cs) 任何想法如何正确地写这个查询?

删除(更新)cor​​eData对象

我正在开发一个iOS应用程序,我正在使用CoreData来存储我的数据。 该应用程序就像iBooks,我们可以下载一本书,读一本书,在书中logging,…为此,我在CoreData ( NoteEntity ,…)中有很多实体。 现在,我有一个function女巫是删除用户下载的书(用户可以下载很多书,并有删除一本书的function(例如有空间))。 我的问题是,是否有一个简单的方法来删除CoreData中的所有对象(与用户删除的图书相对应的所有对象)感谢您的答案。

如何在核心数据中移动行 – 使用Faulting教程 – IOS

我使用这个教程Faulting来创build列表的列表 现在我想在列表视图控制器中移动行。 它成功移动行,但我不能保存这些更改 我经历了很多解决scheme无济于事。 请帮帮我 import UIKit import CoreData class ListViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, NSFetchedResultsControllerDelegate { let ReuseIdentifierItemCell = "ItemCell" @IBOutlet weak var tableView: UITableView! var list: List! var managedObjectContext: NSManagedObjectContext { get { return list.managedObjectContext! } } lazy var fetchedResultsController: NSFetchedResultsController = { // Initialize Fetch Request let fetchRequest = NSFetchRequest(entityName: "Item") // Add […]

iOS:NSFetchResultsControllersorting瞬态属性(Swift)

举例来说,我有一个名为Tasks的Entity其中包含一个名为date的Attribute和一个填充此Tasks Entity的UITableView 。 这是我目前看到的: 7-Dec-14 09:30 7-Dec-14 11:00 7-Dec-14 13:30 7-Dec-14 16:00 现在我们假设当前时间实际上是7-12月14日12:00,所以前2行已经过去了,而后面的2行却是未来的。 我想将它们分成UITableView组。 我发现我可以在实体上创build一个Transient Property,如下所示: var dateGroup: NSNumber { get { if date.compare(NSDate()) == NSComparisonResult.OrderedAscending { return 0 } else { return 1 } } } 这工作,现在显示UITableView如下,当我设置sectionNameKeyPath:“dateGroup”: Group 0 7-Dec-14 09:30 7-Dec-14 11:00 Group 1 7-Dec-14 13:30 7-Dec-14 16:00 我的麻烦是我怎么能得到UITableView实际显示这样的结果(所以未来任务上面的过期的任务): Group 1 7-Dec-14 13:30 […]

在今天的扩展中创buildlogging时的更改和在应用中更新的logging在今天的扩展中是不可见的

只要我有一个应用程序,今天扩展。 另外我有两个实体: 目标和服务 。 @objc(Goal) class Goal: NSManagedObject { @NSManaged var identifier: String @NSManaged var startDate: Date @NSManaged var endDate: Date private var services: [Service] { let predicate = NSPredicate(format: "date >= %@ && date <= %@", startDate as NSDate, endDate as NSDate) return Service.mr_findAll(with: predicate) as! [Service] } var duration: Int64 { return services.reduce(0) […]

核心数据严重的应用程序错误在controllerDidChangeContent

你好,我现在堆积在下面的错误。 CoreData:错误:严重的应用程序错误。 在调用-controllerDidChangeContent:期间,NSFetchedResultsController的委托捕获到exception。 无效的更新:无效的部分数量。 更新(7)之后,表格视图中包含的部分数量必须等于更新前的表格视图中包含的部分数量(6),加上或减去插入或删除的部分数目(0插入,0删除)。 与userInfo(null) 我的应用程序有多个部分tableView。 只有当我尝试插入新节logging时才会出现错误。 如果该部分已经存在,则不会发生错误。 相关的代码如下。 – (void)controllerWillChangeContent:(NSFetchedResultsController *)controller { [self.tableView beginUpdates]; } – (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath { UITableView *tableView = self.tableView; DLog(@"newIndexPath %@",newIndexPath); switch(type) { case NSFetchedResultsChangeInsert: [tableView insertRowsAtIndexPaths:@[newIndexPath] withRowAnimation:UITableViewRowAnimationFade]; break; case NSFetchedResultsChangeDelete: [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; break; case NSFetchedResultsChangeUpdate: [self configureCell:[tableView cellForRowAtIndexPath:indexPath] atIndexPath:indexPath]; break; case […]

使用UICollectionView和NSFetchedResultsController不保存

我在github上使用项目查找,让我使用UICollectionView和UICollectionView ,项目是这样的 在我的项目中,我有一个核心数据与两个实体, Element和Document , Element和Document之间有一对多的关系,所以一个Element可以有更多的Document ,但一个Document只能有一个Element ,然后我这样做AppDelegate : – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. ElementViewController *elementView = [[ElementViewController alloc] initWithNibName:@"ElementViewController" bundle:nil]; elementView.managedObjectContext = self.managedObjectContext; DocumentViewController *documentView = [[DocumentViewController alloc] initWithNibName:@"DocumentViewController" bundle:nil]; documentView.managedObjectContext = self.managedObjectContext; elementView.documentView = documentView; UINavigationController *navController […]

如何将来自Core Data,iOS dev的结果进行分组

我有一个名为“费用”的实体的核心数据,如:实体:“费用”属性:“date”,“类别”,“金额”………. 我的问题是,有可能在年份或年份中获取多less费用? 我知道如果提取基于时间段或类别,我可以使用NSPredicate来筛选提取的结果。 但是我脑海中的“Date”属性应该按年份和月份分开,所以我可以将它们分组在SQL查询中。 有没有可能直接在获取? 否则,唯一的办法是将整个数据提取到一个NSArray,并通过NSPredicate进行一些过滤。 我已经搜查了几天,但没有find直接的答案。 现在我确实相信没有直接的解决办法。 但我仍然认为,如果有人能提供给我更好的解决scheme,那么每个开发者都必须解决这个问题。 任何build议将不胜感激,谢谢你:) ============================新增===================== ==另外,就我所知的有关索引列表的技术而言,我想以UITableView为基础,以“Year-Month”为基础进行索引列表。 我可能会根据每个索引的“年 – 月”向每个arrays提供费用。 有没有更好的方法来做到这一点? 基于数据结构的思想是从实体(年)到多个实体( 年 ,月,年 – 月)到多个实体(年,月,日,金额等)build立一对多的关系。 。 也许这会给我带来一些便利,当我获取索引UITableView的每个数组。