我正在使用Parse構建iOS應用程序。當任何數據被保存時,我希望能夠執行一個操作。特別是在通用保存中,而不是在特定的保存操作之後,因爲這意味着通過我的應用程序在每次保存時執行此操作。解析,保存操作(在設備上)
可能嗎?
即
解析任何保存事件觸發。
保存完成後執行操作。
謝謝。
我正在使用Parse構建iOS應用程序。當任何數據被保存時,我希望能夠執行一個操作。特別是在通用保存中,而不是在特定的保存操作之後,因爲這意味着通過我的應用程序在每次保存時執行此操作。解析,保存操作(在設備上)
可能嗎?
即
解析任何保存事件觸發。
保存完成後執行操作。
謝謝。
一些純粹主義者認爲這有點黑客,但這是一個問題,可以用Swizzling方法解決。基本上,你用自己的方法替換一個類的方法。在這種情況下,您可以替換Parse保存方法以使它們能夠發送事件並執行其原始功能。
我有方法混寫的上Github
此示例代碼擴充的UIViewController並增加了記錄功能的viewWillAppear中的工作示例:viewDidAppear:viewWillDisappear:和viewDidDisappear方法。但是,無論您需要注入功能,您都可以使用它。
這裏有兩個選項,你可以使用Cloud Code並編寫一個afterSave
掛鉤,它會在每次保存時觸發。這可以在Parse服務器上運行,並且可以根據邏輯更改快速移動,因爲不需要更新客戶端更新邏輯後面的邏輯。但是,這些功能僅限於運行3秒鐘,因此您需要非常快速,並且不應在此處執行任何大規模操作。有關詳細信息,請檢查Cloud Code documentation。
另一種方式,如果您確實想要在設備上執行此操作,請在每次保存操作後觸發NSNotification
,創建一個監聽此通知的類並執行保存後所需的任何操作。在這裏,請檢查NSNotification上的Apple文檔。
嘗試創建於PFObject一個類別,創建自定義的保存
- (void) customSave {
[self save]
//custom function
}
您將需要爲每個做到這一點,每一個PFObject保存命令要使用
不知道這實際上是如何解決這個問題。請您可以提供更多詳細信息 – Popeye
而不是在項目中的任何地方調用'[object save]',您可以調用'[object customSave]'。不確定這是否是您要查找的內容。 –
我不明白你所做的所有事情都是這樣做的,所以無需在每個地方調用'[object saveSave]'而不是調用'[object save]'而不是如何更好?請解釋你的答案。 – Popeye