2013-08-06 39 views
1

我必須刪除服務器不再返回的本地存儲數據(孤立對象)。初始化對象管理器時,我正在使用以下代碼。使用Core數據/ Restkit刪除被管理對象

[objectManager addFetchRequestBlock:^NSFetchRequest *(NSURL *URL) { 
      RKPathMatcher *pathMatcher = [RKPathMatcher pathMatcherWithPattern:@"/relative_path"]; 

      NSDictionary *argsDict = nil; 
      BOOL match = [pathMatcher matchesPath:[URL relativePath] tokenizeQueryStrings:NO parsedArguments:&argsDict]; 
      if (match) { 
       NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Articles"]; 
       return fetchRequest; 
      } 

      return nil; 
     }]; 

在上面的代碼中,'match'條件返回TRUE。但Fetch Request不會刪除服務器未返回的孤立對象。

回答

1

您想要使用「提取請求塊和刪除孤立對象」方法,該方法記錄爲here

+0

感謝您的回覆。我在我的AppDelegate中添加了這個函數。但是,當url匹配時,它將返回所有對象,包括從服務器中刪除的對象。有什麼我需要做的嗎?我已經更新了我的qn.pls。 –

+0

它應該返回所有項目。 RestKit會將獲取結果與服務器結果進行比較,並刪除未從服務器返回的項目。 – Wain

+0

但是,當我檢查我的數據庫。舊數據仍然存在於表格中。 –

相關問題