2013-10-11 136 views
0

我已經看過並查看過解析文檔,SO和Google,並且找不到存儲普通ol'Core Data SQLite文件到Parse.com的示例。最初我只想將Core Data文件存儲爲備份;最終我想添加FTASync,然後添加其他人使用此iOS應用程序中存儲的Core Data文件的功能。如何將基本核心數據存儲保存到Parse.com?

有沒有這樣做,而不使用PFObject的例子?有人可以指出我在Parse文檔中的位置,我可以找到如何做到這一點?

+0

那麼你存儲的SQLite文件或對象(對Parse中定義的類)? – Wain

+0

我既不幹,我得到了我的「鴨排隊」!我需要一個很好的「入門」Parse,它描述瞭如何獲取Core Data d/b並將其存儲在Parse.com上 – SpokaneDude

+0

我正在使用RestKit和Parse RESTful界面。不是一個PFObject在望... – Wain

回答

2

不,你不能沒有任何PFObject。理論上你可以節省備份只需

- (void)createBackupFromSQLiteStorageAtPath:(NSString*)path 
{ 
    NSString *name = [[NSDate date] description]; // for example, stringified date will act as name 
    PFFile *backup = [PFFile fileWithName:name contentsAtPath:path]; 
    [backup saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) 
    { 
     if (error) 
     { 
      // handle 
     } 
     else 
     { 
      // success 
     } 
    }]; 
} 

但是!如果你想從parse的文件服務器訪問它,你需要以某種方式保存PFFile對象(你也可以存儲PFFile的url屬性 - 但它是黑客) - 這裏是PFObject的幫助。假設你已經備份了你的店:

- (void)storeBackupFile:(PFFile*)file 
{ 
    PFObject *backup = [PFObject objectWithClassName:@"Backup"]; 
    [backup setObject:file forKey:@"file"]; 
    [backup setObject:[PFUser currentUser] forKey:@"user"]; 
    [backup saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) 
     { 
      if (error) 
      { 
       [backup saveEventually]; 
      } 
      else 
      { 
       // success 
      } 
     }]; 
} 

所以在這之後,你會在解析數據庫Backup對象,以鏈接到創建備份的備份文件和用戶。
還有一些注意事項:
1)將NSOperation子類這樣的備份組織起來很好。
2)以這種方式使用Parse存儲備份是個壞主意。 Parse上的文件存儲是非常昂貴的資源。另外,PFFile擁有本地緩存​​ - 每次進行備份時,您的存儲都將被複制,因此通過備份,應用程序的大小將大幅增加。

+0

非常感謝你;這正是我所期待的!我在哪裏可以找到更多關於你所描述的信息?正如我所表明的那樣,我已經看了看,無濟於事。一個好的「入門」文檔將非常感激。 :D – SpokaneDude

+1

不幸的是,我不知道這樣的指導=(我不確定,但我認爲沒有一個Parse示例(https://www.parse.com/tutorials)適合你的任務。但是,我建議你考慮(https://www.parse.com/tutorials/anypic)例子,前三個步驟 - 它們都有你需要的:保存文件,保存pfobject。這個簡短的教程+解析文檔https://www.parse。 com/docs/ios/api /(主要類爲'PFObject','PFFile','PFQuery','PFUser')可以讓你理解主要框架的可能性,但不要使用anypic作爲你自己項目的基礎 - 它可能包含舊版本的框架! –

+0

你不需要使用PFObject。Parse提供了多種不同的API(並且PFObject實際上僅僅是它們的RESTful接口的一個包裝) – Wain