Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 神奇记录级联删除(TRUNCEALL)不删除_Ios_Objective C_Core Data_Magicalrecord - Fatal编程技术网

Ios 神奇记录级联删除(TRUNCEALL)不删除

Ios 神奇记录级联删除(TRUNCEALL)不删除,ios,objective-c,core-data,magicalrecord,Ios,Objective C,Core Data,Magicalrecord,我正在我的应用程序中使用魔法记录 我有一段感情 Competition <-->> League 运行以下代码 [Competition truncateAll]; 用比赛名称记录所有联赛 NSArray *leagues = [League findAll]; for (League *league in *leagues) { NSLog(@"%@ - %@", league.name, league.competition.name); } e.g. M

我正在我的应用程序中使用魔法记录

我有一段感情

Competition <-->> League
  • 运行以下代码

    [Competition truncateAll];
    
  • 用比赛名称记录所有联赛

    NSArray *leagues = [League findAll];
    for (League *league in *leagues)
    {
        NSLog(@"%@ - %@", league.name, league.competition.name);
    }
    
    e.g. Man UTD - Premier League
    
    e.g. Man UTD - (null)
    
  • 我希望这会删除
    联赛
    以及
    比赛


    我的假设正确吗?为什么不这样做?

    当托管对象 保存上下文,或调用
    processPendingChanges

    如中所示,MagicalRecord方法调用
    deleteObject
    在一个实体的所有对象上,但不保存上下文。

    当托管对象 保存上下文,或调用
    processPendingChanges

    如中所示,MagicalRecord方法调用
    deleteObject
    在实体的所有对象上,但不保存上下文。

    我同意Martin R

    只需在后面添加以下行

    [Competition truncateAll];
    
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
    
    你就可以走了!:)

    我同意马丁·R

    只需在后面添加以下行

    [Competition truncateAll];
    
    [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];
    

    你就可以走了!:)

    你如何“用比赛名称记录所有联赛”?您是再次获取它们还是使用现有的指向对象的指针请注意,只有当您
    保存上下文或调用
    processPendingChanges
    。编辑以显示日志代码时,才会应用删除规则。我以为是我干的?我太傻了。我将截断包在一个保存块中,它成功了。谢谢:)你如何“用比赛名称记录所有联赛”?您是再次获取它们还是使用现有的指向对象的指针请注意,只有当您
    保存上下文或调用
    processPendingChanges
    。编辑以显示日志代码时,才会应用删除规则。我以为是我干的?我太傻了。我将截断包在一个保存块中,它成功了。谢谢:)它也会删除数据库吗?@user1007522:不会,它会删除给定实体的所有对象,例如
    [Car truncateAll]从数据库中删除所有汽车对象。可能还有其他实体不受影响。SQLite文件本身没有被删除。@MartinR,好吧,我怎样才能删除整个数据库内容?@gaussblurinc你找到删除整个数据库的解决方案了吗?
    [magicalrecord cleanup]
    有效吗?@ZigiiWong否,
    [magicalrecord cleanup]
    清除带有协调器、存储和上下文的魔法记录堆栈。可以通过擦除所有表中的所有内容或擦除数据库文件(如果使用sqlite)来清理数据库。看看a它是否也删除了数据库?@user1007522:否,它删除了给定实体的所有对象,例如
    [Car truncateAll]从数据库中删除所有汽车对象。可能还有其他实体不受影响。SQLite文件本身没有被删除。@MartinR,好吧,我怎样才能删除整个数据库内容?@gaussblurinc你找到删除整个数据库的解决方案了吗?
    [magicalrecord cleanup]
    有效吗?@ZigiiWong否,
    [magicalrecord cleanup]
    清除带有协调器、存储和上下文的魔法记录堆栈。可以通过擦除所有表中的所有内容或擦除数据库文件(如果使用sqlite)来清理数据库。看一看