我有一個PFObject的自定義子類,它可以跟蹤設備上的大型視頻文件。我想確保如果我刪除PFObject的videoFile也被刪除。在解析中添加行爲以刪除方法
現在,如果已覆蓋刪除方法的所有變體,但看起來不對。在刪除對象時是否有一種中心方式來添加行爲?
我有一個PFObject的自定義子類,它可以跟蹤設備上的大型視頻文件。我想確保如果我刪除PFObject的videoFile也被刪除。在解析中添加行爲以刪除方法
現在,如果已覆蓋刪除方法的所有變體,但看起來不對。在刪除對象時是否有一種中心方式來添加行爲?
有一個鉤子可以捕獲後端的每一次刪除(雲代碼中的beforeDelete
),但從這個問題來看,這聽起來像是錯誤的地方,因爲需要刪除的文件是本地的。
最近解析open-sourced the SDK。 Perusing the code。看起來刪除變體最終都會調用deleteInBackground
。因此,一個想法 - 有點太聰明,IMO - 將會只覆蓋那個。但我認爲依靠這種無證的事實是不明智的。
如果你控制調用者端,一個想法是制定一個策略,不要直接調用delete,並提供一個「otuswebDelete」方法來執行對象和文件刪除。
如果不控制主叫方(或不信任自己記住自己的政策),我想你最好,你當前的設計下,只覆蓋幾個變種:
– delete
– delete:
– deleteInBackground
– deleteInBackgroundWithBlock:
– deleteEventually
可以全部調用super
來刪除,然後調用子類中的方法刪除本地文件。不是那麼糟糕,海事組織。由於原因太多,無法在此處詳細說明,我習慣於「包裝」我的PFObjects(具有PFObject
屬性的NSObject
子類),而不是對它們進行子類化。 (a)使用SDK方法(就像在你的問題中),(b)序列化,((a)使用方法的更多控制) c)獲取管理相關對象,(d)更多...
您能否澄清一下問題。視頻文件存儲在Parse中,還是僅在本地?有'beforeDelete'和'afterDelete'雲代碼掛鉤,你可以把它放在一個類上來處理任何你可能需要的額外清理操作 – Russell
這個文件存儲在本地 – otusweb