首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏iOS Developer

    详解持久化Core Data框架的原理以及使用---转自Bison的技术博客

    = self.managedObjectContext; if (managedObjectContext ! - (NSManagedObjectContext *)managedObjectContext { // 如果_managedObjectContext已经被初始化过,直接返回该对象 if (_managedObjectContext ! = nil) { return _managedObjectContext; } // 获取持久化存储协调器 NSPersistentStoreCoordinator :coordinator]; } return _managedObjectContext; } - (NSManagedObjectModel *)managedObjectModel

    2K50发布于 2018-07-04
  • 来自专栏sktj

    IOS 使用Core Data读写数据库

    AppDelegate 10 let managedObjectContext = appDelegate.managedObjectContext 11 12 let newUser = NSEntityDescription.insertNewObject (forEntityName:“User”, into: managedObjectContext) as! AppDelegate 11 let managedObjectContext = appDelegate.managedObjectContext 12 13 let entity:NSEntityDescription AppDelegate 9 let managedObjectContext = appDelegate.managedObjectContext 10 11 let entity:NSEntityDescription [User]{ 24 managedObjectContext.delete(user) 25 }

    1.4K40发布于 2019-07-08
  • 来自专栏云原生布道专栏

    【IOS】IOS开发问题解决方法索引(五)

    BOOL isSaveSuccess=[_myAppDelegate.managedObjectContext save:&error]; 9. if (! NSMutableArray* mutableFetchResult=[[_myAppDelegate.managedObjectContext executeFetchRequest:request [_myAppDelegate.managedObjectContext save:&error]; 21. [_myAppDelegate.managedObjectContext deleteObject:user]; 16. } 17. 18. if ([_myAppDelegate.managedObjectContext save:&error]) { 19.

    1.2K20编辑于 2022-03-08
  • 来自专栏Helloted

    CoreData简介以及第三方框架MagicRecord源码解析

    NSManagedObjectContext NSManagedObject操作的上下文,NSManagedObject的操作会先缓存在上下文中,还未存到磁盘中 - (NSManagedObjectContext *)managedObjectContext { if (__managedObjectContext ! = nil) { return __managedObjectContext; } NSPersistentStoreCoordinator *coordinator = = nil) { __managedObjectContext = [[NSManagedObjectContext alloc] init]; [__managedObjectContext setPersistentStoreCoordinator:coordinator]; } return __managedObjectContext; } 生成NSManagedObjectContext

    1.1K20编辑于 2022-06-07
  • 来自专栏肘子的Swift记事本

    SwiftDataKit:让你在 SwiftData 中使用 Core Data 的高级功能

    { guard let managedObjectContext = getMirrorChildValue(of: self, childName: "_nsContext") as? { managedObjectContext?. modelContext.managedObjectContext?.fetch(fetchRequest) as? [[String: Any]]) ?? modelContext.managedObjectContext?.count(for: fetchRequest)) ?? modelContext.managedObjectContext?.fetch(fetchRequest)) ??

    79320编辑于 2023-09-18
  • 来自专栏coding...

    iOS开发实战-时光记账Demo 本地数据库版效果分析Demo地址

    = 0) { [self clickAdd]; //存数据 NSManagedObjectContext *managedObjectContext = { date = ss[0]; } else { date = [[TallyDate alloc] initWithContext:managedObjectContext executeFetchRequest:fetchRequest error:&error]; [managedObjectContext deleteObject:[fetchedObjects firstObject]]; [managedObjectContext save:&error]; //删除完成后 刷新视图 [self showTimeLineView deleteObject:object]; } //保存 - (void)saveTally { [self.managedObjectContext save:nil]; } //读取对应字段

    2.8K20发布于 2018-08-23
  • 来自专栏一“技”之长

    iOS中CoreData数据管理系列四——进行数据与页面的绑定

    ];     //进行数据桥接对象的初始化     _fecCon = [[NSFetchedResultsController alloc]initWithFetchRequest:request managedObjectContext 在initWithFetchRequest:managedObjectContext:sectionNameKeyPath:cacheName:方法中,如果设置第三个参数,则会以第三个参数为键值进行数据的分区

    1.1K10发布于 2018-08-15
  • 来自专栏肘子的Swift记事本

    SwiftDataKit:让你在 SwiftData 中使用 Core Data 的高级功能

    { guard let managedObjectContext = getMirrorChildValue(of: self, childName: "_nsContext") as? { managedObjectContext?. modelContext.managedObjectContext?.fetch(fetchRequest) as? [[String: Any]]) ?? modelContext.managedObjectContext?.count(for: fetchRequest)) ?? modelContext.managedObjectContext?.fetch(fetchRequest)) ??

    88340编辑于 2023-09-18
  • 来自专栏青玉伏案

    iOS开发之表视图爱上CoreData

    CoreData中的上下文(managedObjectContext)就相当于Hibernate中的session对象, CoreData中的save操作就和Hibernate中的commit,还有一些相似之处 [self.managedObjectContext save:&error]) {         NSLog(@"%@", [error localizedDescription]);     } :self.managedObjectContext sectionNameKeyPath:@"firstN" cacheName:nil];   //执行fetchedResultsController [self.managedObjectContext save:&error]) {         NSLog(@"%@", [error localizedDescription]);     } :self.managedObjectContext sectionNameKeyPath:@"firstN" cacheName:nil]; 17 18 NSError *error

    3K80发布于 2018-01-11
  • 来自专栏coding...

    swift3.0 coreData的使用-日记本demo效果需求分析创建工程添加数据库改写Detail页面改写Master页面Demo地址

    managedObjectContext context?.delete(self.detailItem!) managedObjectContext newEvent?.noteDetail = self.detailTextView.text newEvent?. insertNewObject(_ sender: Any) { //初始化 插入时间戳 和 空数据 let context = self.fetchedResultsController.managedObjectContext

    96940发布于 2018-08-23
  • 来自专栏肘子的Swift记事本

    SwiftUI 与 Core Data —— 安全地响应数据

    从另一个角度来看,即使在托管上下文中使用 delete 方法删除该实例在数据库中对应的数据,但如果该托管对象实例仍被代码或视图所引用,Swift 并不会销毁该实例,此时,托管对象上下文会将该实例的 managedObjectContext 因此如果我们将代码调整成正常的编写模式就能看出问题所在了:struct Cell:View { @ObservedObject var item:Item // 响应数据变化 @Environment(\.managedObjectContext { guard let context = managedObjectContext else { // 判断是否能获取上下文 return nil } .now).timeIntervalSince1970)") }}运行上面的代码,在数据被删除后,Sheet 视图中的 item 会因 managedObjectContext 为 nil 而使用备选数据 { guard let context = managedObjectContext else { return nil} return context.performAndWait

    4.5K20编辑于 2023-03-08
  • 来自专栏肘子的Swift记事本

    如何在Xcode下预览含有Core Data元素的SwiftUI视图

    var body: some Scene { WindowGroup { ContentView() .environment(\.managedObjectContext SwiftUI提供的managedObjectContext环境值为在视图中使用或操作Core Data元素提供了基础和便利。 如果你的视图中使用了@Environment(\.managedObjectContext) var viewContext或者@FetchRequest,请务必检查该视图对应的PreviewProvider PreviewProvider { static var previews: some View { ContentView() .environment(\.managedObjectContext var body: some Scene { WindowGroup { ContentView() .environment(\.managedObjectContext

    6.8K10编辑于 2022-07-28
  • 来自专栏云原生布道专栏

    【IOS开发高级系列】CoreData专题

    insertNewObjectForEntityForName:inManagedObjectContext:工厂方法,根据给定的 Entity 描述,生成相应的 NSManagedObject 对象,并插入 ManagedObjectContext NSPersistentDocument 常用方法 -managedObjectContext返回文档的 Managed Object Context,在多文档应用程序中,每个文档都有自己的 Context 示例: NSManagedObjectContext * context  = [[NSApp delegate] managedObjectContext]; NSManagedObjectModel = nil; NSAsynchronousFetchResult *asynchronousFetchResult = (NSAsynchronousFetchResult*)[weakSelf.managedObjectContext  deleteObject: user];       }       if ([_myAppDelegate.managedObjectContext save: &error]) {           

    1.9K50编辑于 2023-10-16
  • 来自专栏韩曙亮的移动开发专栏

    【iOS 开发】iOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

    = self.managedObjectContext; if (managedObjectContext ! = nil) { if ([managedObjectContext hasChanges] && ! [managedObjectContext save:&error]) { // Replace this implementation with code to handle { if (_managedObjectContext ! = nil) { _managedObjectContext = [[NSManagedObjectContext alloc] init]; [_managedObjectContext

    6.6K30编辑于 2023-03-27
  • 来自专栏华仔的技术笔记

    CoreData的线程安全

    1.没有线程安全的coredata数据读取: NSManagedObjectContext对象的创建: _managedObjectContext = [[NSManagedObjectContext

    1.1K80发布于 2018-05-17
  • 来自专栏华仔的技术笔记

    tabviewcell侧滑删除出现的异常

    UIApplication sharedApplication].delegate; NSManagedObjectContext *ctx = [appDelegate.localManager managedObjectContext

    1.4K100发布于 2018-05-17
  • 来自专栏肘子的Swift记事本

    如何通过 Persistent History Tracking 观察 SwiftData 的数据变化

    private func setAuthor(container: ModelContainer, authorName: String) { container.mainContext.managedObjectContext modelContext.managedObjectContext?.execute(fetchRequest) as? @ModelActor actor PrivateDataHandler { func setAuthorName(name: String) { modelContext.managedObjectContext

    74920编辑于 2023-11-02
  • 来自专栏肘子的Swift记事本

    只在视图 Body 中生存的变量

    因此为了给每个对象添加一个序号,通常会使用将 FetchResults 进行枚举化再转成数组的方式来处理: struct ContentView: View { @Environment(\.managedObjectContext 我们同样可以通过使用一个引用类型实例来达成同样的效果: 必须用 @State 来持有该实例,如此才能保证在视图的存续期内,只有一个 holder struct ContentView: View { @Environment(\.managedObjectContext

    1.4K10编辑于 2023-05-18
  • 来自专栏肘子的Swift记事本

    关于 Core Data 并发编程的几点提示

    例如: // Item 为 NSManagedObjectfunc delItem(item:Item) { guard let context = item.managedObjectContext 从托管对象中获取 objectID 或 managedObjectContext 难道不会出问题? 比如托管对象的 objectID、managedObjectContext、hasChanges、isFault 等。

    1.2K20编辑于 2022-07-28
  • 来自专栏青玉伏案

    iOS开发之使用XMPPFramework实现即时通信(一)

    .使用XMPPFramework连接服务器并认证密码 1.例化XMPPStream 在AppDelegate中声明并实例化XMPPStream,在获取XMPPStream实例时,和CoreData中的managedObjectContext

    1.8K100发布于 2018-01-11
领券