2013-03-12 102 views
0

要清楚...... 我的目標: -刪除請求,並與核心數據同步RESTkit和線程

請刪除請求到服務器(完成),我得到響應,但不能確定其是否與核心數據DB同步與否。因此,我需要知道,如何使用Restkit從db中刪除特定的對象。

2. ManagedObjectContext混淆 - 我太困惑了上下文和線程。 我在我的所有操作中都使用這個上下文。 : - [RKObjectManager sharedManager] .managedObjectStore.mainQueueManagedObjectContext] 但我想保留在Bg線程上的處理並在主線程上接收結果來更新。 現在有一些兒童背景的概念。直到現在,如何使用它仍然是一個難題。

3.如果我想使用多線程,使用Restkit和映射進行服務器請求。如何使用managedobjectcontext。 (我的意思是使用它的正確方法)

回答

0

您可以使用下面的代碼在多線程

- (void)mergeChanges:(NSNotification*)notification 
{ 
    NSLog(@"[mergeChanges] enter"); 
    // save changes to manageObjectContext on main thread 
    AppDelegate *theDelegate = [[UIApplication sharedApplication] delegate]; 
    [[theDelegate managedObjectContext] performSelectorOnMainThread:@selector(mergeChangesFromContextDidSaveNotification:) 
                 withObject:notification 
                 waitUntilDone:YES]; 
    NSLog(@"[mergeChanges] leave"); 
} 

- (NSManagedObjectContext*)startThreadContext 
{ 
    AppDelegate *theDelegate = [[UIApplication sharedApplication] delegate]; 
    NSManagedObjectContext *newMoc = [[NSManagedObjectContext alloc] init]; 
    [newMoc setPersistentStoreCoordinator:[theDelegate persistentStoreCoordinator]]; 

    // Register for context save changes notification 
    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(mergeChanges:) 
               name:NSManagedObjectContextDidSaveNotification 
               object:newMoc]; 

    return newMoc; 
} 

- (void)stopThreadContext:(NSManagedObjectContext*)context 
{ 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                name:NSManagedObjectContextDidSaveNotification 
                object:context]; 
} 

管理的NSManagedObjectContext在線程上下文的開始,你可以調用

-(NSManagedObjectContext*)startThreadContext 

和使用線程中新的NSManagedObjectContext,並且當線程完成時,您可以刪除NSManagedObjectContext。 當您保存新的NSManagedObjectContext時,它會通知主線程的託管對象上下文以保存更改。

+0

嘿,是的......似乎沒關係,如果一個人直接使用核心數據。但是,在我的情況下,它間接使用Core Data Via Restkit。所以,如何確保這是我們使用Restkit的正確方式。 – Sumitiscreative 2013-03-12 07:24:47