草庐IT

data-slate-inline

全部标签

ios - 核心数据 : how to just delete and rebuild the data store?

我在不需要保存用户数据的iOS7+应用程序中使用CoreData,应用程序需要的所有数据都被请求到服务,并且可以随时恢复。因此,如果我在下一次应用程序更新中更改我的数据模型,我可以毫无问题地删除所有以前的数据并再次请求它们。但是我不知道如何在不执行迁移的情况下简单地用新的数据模型替换以前的数据模型,因为看起来我不需要那样做...提前致谢 最佳答案 如果您的目标是iOS9或更高版本,则使用Swift解决方案共享的CoreData管理器:classCoreDataContext{staticletdatamodelName="CoreD

ios - 如何在 Core Data 中使用带有 fetchRequest 的谓词

我将联系人标识符从联系人TableViewController传递到另一个位置TableViewController。所以我定义了一个委托(delegate)ContactSelectionDelegate并在LocationTableViewController中实现方法userSelectedContact并获取contactIdentifierString我正在搜索数据库以查找contactIdentifierString的匹配项并查找另一个属性提供程序名称的值。这涉及搜索整个数据库。通过将谓词分配给上下文fetchRequest是否有更快的方法。我认为那样会更快,代码行更少。有

iphone - Core Data 应用崩溃并出现 "controllerWillChangeContent : unrecognized selector sent to instance"

我有一个具有2个View的核心数据应用程序。第一个View列出“房间”,第二个View列出房间中的“场景”。Rooms页面有一个编辑NavItem按钮,按下该按钮会启用添加NavItem按钮。您可以从这里删除和添加房间。添加的房间仅以默认的“新房间”名称出现在表格中。第二个View是所选房间中的场景列表。同样的道理,你可以删除和添加场景,添加的场景只是简单地出现在表格中,名称为“新场景”。真的没什么特别的。我在两个ViewController中都使用了FetchedResultsController,场景Controller中有一个NSPredicate以仅返回所选房间的场景。我还使用

ios - 控制 NSSortDescriptor 对 Core Data 中的 nil 值进行排序的方式

对于带有核心数据的字符串,给定以下NSSortDescriptor:[NSSortDescriptorsortDescriptorWithKey:@"series"ascending:trueselector:@selector(caseInsensitiveCompare:)]结果按字母升序正确排序。然而,在series为nil的情况下,具有nil值的字符串被放置在顶部,之后对非nil值进行排序,例如:[nil,nil,nil,A,B,C,D...]有什么办法可以控制这种行为吗?核心数据不允许自定义选择器。这是一个与我类似的问题(但是没有解决CoreData的限制):NSSortDe

iphone - 使用 Core Data 设计聊天应用程序

我正在编写一个聊天应用程序,并且正在更改我的数据库以使用CoreData。我目前直接使用sqlite,但我想利用iCloud功能,所以我正在切换引擎。我的主表名为Entry,具有以下属性:NSIntegertype;NSDate*timestamp;NSString*username;NSString*session;NSString*body;“类型”可以是:1-message2-filetransfer(whichthen'body'representsafilenameinthedocumentsfolder)3-userjoined4-userleft我的应用程序还支持多用户聊

ios - CloudKit CKModifyRecordsOperation 给我一个 "Protection data didn' t 匹配”

我正在尝试使用CloudKit上传一些记录更改。我打算使用CKModifyRecordsOperation批量上传设备上已更改的记录。记录都在自定义区域由于某种原因,该操作不断返回错误,告诉我““保护数据不匹配”代码如下:-(void)updloadLocalChangesWithCompletionBlock:(void(^)(NSError*error))completionBlock{//InitializethedataNSArray*localChanges=self.localChanges;NSArray*localDeletions=self.localDeletion

objective-c - Core Data 是否对字符串的长度施加了限制?

我想知道在iOS中使用CoreData存储的字符串长度是否有任何限制。(设备上的可用RAM或磁盘空间除外) 最佳答案 我认为在达到CoreData中的任何存储限制之前,您更有可能达到iOS设备上的性能限制。提取大量数据也会对性能造成影响。在性能和可管理性方面,将大文本block分解为较小的block会更好。反正我记得是MarcusZarra告诉我的。 关于objective-c-CoreData是否对字符串的长度施加了限制?,我们在StackOverflow上找到一个类似的问题:

解决mysql报错:1406, Data too long for column(多种方案)

适用于linux系统一般1406,Datatoolongforcolumn错误大部分会是因为某一列表的数据长度受限,最好的办法是进入数据库,找到表结构中对应的表头,修改数据库类型,这里以vod_first_letter为例,如果直接修改数据类型,可能会因为文本内容不兼容而导致失败,如将VARCHAR修改为LONGTEXE(长文本),(执行会报错),这时我们可以直接通过修改后面的长度值来达到同样的目的下面先贴一下网上的众多解决方法,由我最开始介绍的直接修改数据类型,或者修改长度值是最简单的方法以下方案可供备用1、修改my.ini文件:将sql-mode=STRICT_TRANS_TABLES,N

解决mysql报错:1406, Data too long for column(多种方案)

适用于linux系统一般1406,Datatoolongforcolumn错误大部分会是因为某一列表的数据长度受限,最好的办法是进入数据库,找到表结构中对应的表头,修改数据库类型,这里以vod_first_letter为例,如果直接修改数据类型,可能会因为文本内容不兼容而导致失败,如将VARCHAR修改为LONGTEXE(长文本),(执行会报错),这时我们可以直接通过修改后面的长度值来达到同样的目的下面先贴一下网上的众多解决方法,由我最开始介绍的直接修改数据类型,或者修改长度值是最简单的方法以下方案可供备用1、修改my.ini文件:将sql-mode=STRICT_TRANS_TABLES,N

ios - 从我的模型文件生成新的 NSManagedObject 子类时,我应该检查 “Use scalar properties for primitive data types” 吗?

我使用CoreData创建了一个项目,并在.model文件中创建了一个名为Targets的实体。我添加了这两个实体属性:content(String)targetID(Integer32)当我生成NSManagedObject子类时,Xcode会询问我:Usescalarpropertiesforprimitivedatatypes?从我的模型文件生成新的NSManagedObject子类时,我应该选中此框吗? 最佳答案 如果选中该框,Xcode将为这些属性生成标量类型(例如,int、float、double)。如果未选中,属性将为