क्या नवीनतम डेटा खींचने के लिए आईओएस एसडीके का उपयोग करके फायरबेस कैश को मैन्युअल रूप से और तुरंत रीफ्रेश करने का कोई तरीका है (मान लीजिए कि आप ऑनलाइन हैं)? उदाहरण के लिए, अगर मैंने फायरबेस पर अपने डेटा में कुछ बदलाव किए हैं, तो मैं चाहता हूं कि मेरा ऐप तुरंत इसे प्रतिबिंबित करे, लेकिन दृढ़ता से चालू होने पर, आमतौर पर ऐप के कुछ पुनरारंभ होते हैं।ताज़ा करें फायरबेस आईओएस एसडीके कैश तुरंत
मैं हाल ही में तो जैसे मेरे एप्लिकेशन में दृढ़ता चालू:
Firebase.defaultConfig().persistenceEnabled = true
यह बहुत अच्छा काम किया है, लेकिन अब मेरे ऐप भी एक इंटरनेट कनेक्शन के साथ बहुत बार यह डेटा को ताज़ा नहीं है। मैं here का उल्लेख ऑफ़लाइन क्षमताओं का उपयोग कर रहा हूं।
1) observeSingleEventOfType
का उपयोग कर, लेकिन ref.keepSynced(true)
की स्थापना रखें:
"दृढ़ता से चालू होने पर, आमतौर पर ऐप के कुछ पुनरारंभ होते हैं" ऐसा नहीं होना चाहिए, जब तक कि आप 'निरीक्षणSingleEventOfType' का उपयोग न करें। चूंकि 'ObsSingleEventOfType' कैश किए गए संस्करण के लिए तत्काल आग लग जाएगा, इसे कभी भी नया संस्करण नहीं मिलेगा। समाधान 'ObsSingleEventOfType' और' persistenceEnabled = true' दोनों का उपयोग नहीं करना है। –
यह सुनिश्चित करने के लिए कि कैश स्वचालित रूप से अपडेट हो जाए, '[ref keepSynced: YES];' पर कॉल करें। https://www.firebase.com/docs/ios/guide/offline-capabilities.html#section-prioritizing-the-local-cache –
तो आपकी पहली टिप्पणी के मुताबिक, 'keepSynced' भी काम नहीं करेगा अगर मैं' मैं 'निरीक्षणSingleEventOfType' का उपयोग कर? – tfrank377