我正在使用Parse构建iOS应用程序。保存任何类型的任何数据时,我希望能够执行操作。特别是在通用保存上,而不是在特定保存操作之后,因为它意味着通过我的应用程序在每次保存时执行此操作。
有可能吗?
即
解析触发的任何保存事件。
保存完成后执行操作。
感谢。
答案 0 :(得分:0)
有些纯粹主义者认为这有点像黑客,但这是一个问题,可以通过Swizzling方法解决。实质上,您使用自己的方法替换类的方法。在这种情况下,您将替换Parse保存方法,以使它们能够发送事件以及执行其原始功能。
我在Github
上有一个Swizzling方法的工作示例此示例代码扩充了UIViewController并将日志记录功能添加到viewWillAppear:viewDidAppear:viewWillDisappear:和viewDidDisappear方法。但是你可以使用它来注入功能。
答案 1 :(得分:0)
这里有两个选项,您可以使用Cloud Code并编写一个afterSave
挂钩,每次保存都会触发。这将在Parse服务器上运行,您可以在逻辑更改方面快速移动,因为不需要客户端更新来更改其背后的逻辑。但是,这些功能仅限运行3秒钟,因此您需要非常快速,不应在此执行任何大规模操作。查看Cloud Code documentation了解详情。
另一方面,如果您真的想在设备上执行此操作,请在每次保存操作后触发NSNotification
,创建一个侦听此通知的类,并执行保存后所需的任何操作。在这里,请查看NSNotification上的Apple文档。
答案 2 :(得分:-1)
尝试在PFObject上创建一个类别并创建一个自定义保存
- (void) customSave {
[self save]
//custom function
}
您需要为要使用的每个PFObject保存命令执行此操作