我需要对我的一些方法进行单元测试(XCTest),其中包括对CoreData模型的引用。以下行正确执行:varairport:AnyObject!=Airport.MR_createEntity()(lldb)poairport(entity:Airport;id:0x7fcf54216a20;data:{open=nil;shortName=nil;visible=nil;})而以下行触发了EXC_BAD_ACCESS:varairport2:Airport=Airport.MR_createEntity()as!Airport(lldb)poairport2error:Execut
我当前的核心数据实体之一-Entity1-有一个名为isSaved的Boolean属性。在新的核心数据模型中,我计划删除isSaved属性并添加一个名为type的新Int属性。对于所有保存的Entity1对象,我想根据旧核心数据模型中isSaved的值设置type的值。(例如,如果isSaved为真,则类型为1,否则类型为2)。我已经阅读了一些关于轻量级核心数据迁移的文章,但它们似乎都没有帮助。只是想知道是否有任何方法可以使我计划的迁移成功? 最佳答案 轻量级迁移做不到这一点。您必须创建映射模型和NSEntityMigrationP
使用Swift的XCode6Beta3。在我的应用程序中,我使用了CoreData。当我在模拟器中运行我的应用程序时,XCode弹出调试器,并在CoreData库的某处设置了一个断点(见屏幕截图)。这发生在几个CoreData函数上,例如当插入新记录或从实体中获取记录时。断点位置始终相同。这非常烦人。当我的应用程序从一个实体获取10条记录时,我必须按继续执行程序按钮10次。因为这个断点设置在机器代码的某个地方,断点检查器没有显示任何断点,所以我不能删除它。有谁知道如何摆脱它?非常感谢。编辑:回溯输出:(lldb)bt*thread#1:tid=0x1d68b0,0x000000010a
我不确定我是没有找到任何信息还是不可能。我查了好几页。我想在Swift中使用NSOrderedSet的通用版本。使用Set你可以这样做:Swift’sSettypeisbridgedtoFoundation’sNSSetclass.Source:AppleDocs-Sets在NSManagedObject子类中,您只需将NSSet更改为Set即可。(测试过)@propertyNSArray*dates;@propertyNSSet*words;@propertyNSDictionary*cachedData;vardates:[NSDate]varwords:SetvarcachedD
在CoreData中,我定义了从Node到Tag的无序对多关系。我创建了一个像这样的Swift实体:importCoreDataclassNode:NSManagedObject{@NSManagedvartags:Array}现在我想向Node的实例添加一个Tag,如下所示:varnode=NSEntityDescription.insertNewObjectForEntityForName("Node",inManagedObjectContext:managedObjectContext)asNodenode.tags.append(tag)但是,这会失败并出现以下错误:Term
我是CoreData的新手,已经阅读了一些教程但是却一无所获。大多数教程都围绕着从CoreData获取数据来填充表格View,这不是我目前正在做的事情。下面是我在CoreData中设置数据的方式。所有类型都是Double除了date是NSDateletappDelegate=(UIApplication.sharedApplication().delegateasAppDelegate)letmanagedObjectContext=appDelegate.managedObjectContextletentityDescription=NSEntityDescription.enti
我正在学习Objective-C/CocoaTouch和CoreData。那么,在纯Swift编写的iOSApp项目中实现数据存储有哪些新的可能性呢?我真的很喜欢这种语言,但据我所知,所有核心数据方法都是用Objective-C编写的。那么核心数据类/方法会自动转换为Swift-Code还是我们必须将核心数据的Objective-C代码和其他所有内容的Swift-Code混合起来? 最佳答案 这就是我实现核心数据的方式。几个非常重要的注意事项:您必须将其添加到您的NSManagedObject类中:@objc(我的对象)您必须将
我有一个看起来像这样的一对多关系,我已经在一个文件中设置了我的模型类来匹配:importCoreDataimportFoundationclassBoard:NSManagedObject{@NSManagedvarboardColor:String@NSManagedvarboardCustomBackground:AnyObject?@NSManagedvarboardID:String@NSManagedvarboardName:String@NSManagedvarlists:NSSet}classList:NSManagedObject{@NSManagedvarlistID
我不确定我在这里做错了什么,但是当我第一次保存到coredata时,它工作得很好。当我尝试覆盖它时,它没有。functestStuff(){vartoken=loadLoginData()println("Token\(token)")saveLoginData("NewToken")varnewToken=loadLoginData()println("Token\(newToken)")}funcsaveLoginData(accessToken:String){varappDel:AppDelegate=(UIApplication.sharedApplication().del
我想在CoreData中存储托管对象的枚举状态enumObjStatus:Int16{caseState1=0caseState2=1caseState3=3}classStateFullManagedObject:NSManagedObject{@NSManagedvarstate:Int16}最后一步是将StateFullManagedObject的状态变量转换为ObjStatus以进行直接比较,这对我不起作用。例如,我不能在Int16和Int16枚举之间使用==运算符。我得到的编译时错误是Int16isnotconvertibleto'MirrorDisposition'.请参阅