我查看并查看了 Parse 文档、SO 和 Google,但找不到将普通的核心数据 SQLite 文件存储到 Parse.com 的示例。最初我只想将 Core Data 文件存储为备份;最终我想添加 FTASync,然后让其他人能够利用这个 iOS 应用程序中存储的核心数据文件。
有没有不使用 PFObject 的例子?有人可以指出我可以在 Parse 文档中找到如何执行此操作的地方吗?
我查看并查看了 Parse 文档、SO 和 Google,但找不到将普通的核心数据 SQLite 文件存储到 Parse.com 的示例。最初我只想将 Core Data 文件存储为备份;最终我想添加 FTASync,然后让其他人能够利用这个 iOS 应用程序中存储的核心数据文件。
有没有不使用 PFObject 的例子?有人可以指出我可以在 Parse 文档中找到如何执行此操作的地方吗?
不,没有任何 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 属性 - 但它是 hack) - 这是 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 具有本地缓存 - 每次备份时都会复制您的存储空间,因此应用程序的大小会随着经常备份而急剧增加。