解析,保存时的操作(在设备上)。

问题描述 投票:0回答:3

我正在使用Parse构建一个iOS应用。当任何数据被保存时,我希望能够执行一个操作。特别是在一般的保存上,而不是在特定的保存操作后,因为这意味着在每次保存时都要通过我的应用程序来执行这个操作。

这可能吗?

  1. 解析任何被触发的保存事件。

  2. 在保存完成后执行操作。

ios objective-c parse-platform save
3个回答
0
投票

有些纯粹主义者认为这有点像黑客,但这是个问题,可以用方法Swizzling来解决。本质上,你用自己的方法替换一个类的方法。在这种情况下,你将替换Parse保存方法,使它们能够发送事件以及执行它们原来的功能。

我有一个关于Swizzling方法的工作示例,它是在 Github

这个示例代码增强了UIViewController,并为viewWillAppear: viewDidAppear: viewWillDisappear:和viewDidDisappear方法添加了日志功能。但你可以在任何需要注入功能的地方使用这个方法。


0
投票

你在这里有两个选择,你可以使用云代码,然后写一个 afterSave 钩子,将在每次保存时被触发。这将在Parsse服务器上运行,你可以在逻辑变化方面快速移动,因为不需要客户端更新来改变背后的逻辑。然而,这些功能最多只能运行3秒,所以你需要非常快,不应该在这里进行任何大规模的操作。检查 云代码文档 了解详情。

另一种方式,如果你真的想在设备上做,可以开一个 NSNotification 在每次保存操作后,创建一个类来监听这个通知,并在保存后执行任何需要的操作。在这里,也可以查看苹果的文档 NSNotification.


-1
投票

尝试在PFObject上创建一个类别,并创建一个自定义的保存。

- (void) customSave {
   [self save]
   //custom function
}

您需要为您打算使用的每一条PFObject保存命令做这样的操作。

© www.soinside.com 2019 - 2024. All rights reserved.