Ada kait yang menangkap setiap penghapusan di back-end, (beforeDelete
dalam kode cloud), tetapi dari pertanyaan, sepertinya itu tempat yang salah untuk menangkapnya, karena file yang perlu dihapus adalah file lokal.
Parsing SDK bersumber terbuka baru-baru ini. Membaca kode. Sepertinya varian hapus pada akhirnya semuanya memanggil deleteInBackground
. Jadi satu ide -- agak terlalu pintar, IMO -- adalah mengganti ide itu saja. Namun menurut saya tidak bijaksana jika bergantung pada fakta yang tidak terdokumentasi ini.
Jika Anda mengontrol sisi pemanggil, salah satu idenya adalah dengan membuat kebijakan untuk tidak pernah memanggil penghapusan secara langsung, dan menyediakan metode "otuswebDelete" untuk melakukan penghapusan objek dan file.
Jika Anda tidak mengontrol penelepon (atau tidak percaya diri untuk mengingat kebijakan Anda sendiri), menurut saya lebih baik Anda, berdasarkan desain Anda saat ini, mengganti beberapa varian saja:
– delete
– delete:
– deleteInBackground
– deleteInBackgroundWithBlock:
– deleteEventually
Mereka semua cukup memanggil super
untuk menghapus, lalu memanggil metode di subkelas untuk menghapus file lokal. Tidak terlalu buruk, IMO.
Terakhir, karena alasan yang terlalu banyak untuk dirinci di sini, saya memiliki kebiasaan "membungkus" PFObjects saya (subkelas NSObject
yang memiliki properti PFObject
) daripada membuat subkelasnya.
Beban dari pendekatan ini adalah sedikit kebosanan untuk membuat pengakses untuk properti, namun sebagai imbalannya saya mendapatkan kontrol lebih besar atas (a) penggunaan metode SDK (seperti dalam masalah Anda), (b) serialisasi, (c) mengambil sebuah mengelola objek terkait, (d) selengkapnya...
person
danh
schedule
03.11.2015
beforeDelete
danafterDelete
cloud code hooks yang dapat Anda tempatkan di kelas untuk menangani segala jenis operasi pembersihan tambahan yang mungkin Anda perlukan - person Russell   schedule 03.11.2015