2015-06-07 7 views
6

के साथ होता है, मैंने वर्तमान में अपने आईओएस प्रोजेक्ट में पार्स बैकएंड जोड़ा और इसे अपने स्थानीय डेटा स्टोरेज के साथ काम करने के लिए परिभाषित किया। यह सब ठीक काम करता प्रतीत होता है, सिवाय इसके कि कभी-कभी मुझे "यह ऑब्जेक्ट ऑफ़लाइन कैश में उपलब्ध नहीं है" को छोड़कर मुझे लगता है कि जहां तक ​​मुझे लगता है कि स्थानीय डेटा स्टोर का उपयोग करते समय कोई कैश नहीं है (इसे मेरे ऐपडिलेगेट में सक्षम करना: [पार्स सक्षम लोकलडेटास्टोर];)। समस्या यह है कि यदि मैं ऐप को दोबारा खोलता हूं, तो आखिरकार उस ऑब्जेक्ट को सफलतापूर्वक पुनर्प्राप्त किया जाएगा। किसी को भी इससे पहले इस समस्या का सामना करना पड़ा है?"त्रुटि: यह ऑब्जेक्ट ऑफ़लाइन कैश में उपलब्ध नहीं है" केवल कुछ बार पार्स बैकएंड

संपादित करें: कॉल मुझे क्या के आदेश ios 8.0 एसडीके और पार्स एसडीके 1.7.2

धन्यवाद के लिए अपने बनाया

PFQuery *query = [PFQuery queryWithClassName:className]; 
[query fromLocalDatastore]; 
[query whereKey:someKey equalTo:someObject]; 
[query includeKey:@"someKey1"]; 
[query includeKey:@"someKey2"]; 
[query orderByAscending:@"date"]; 
[query findObjectsInBackground]; 

है!

+1

वही समस्या यहां। ऐसा नहीं होता है अगर मैं ऑनलाइन क्वेरी के बाद यह क्वेरी करता हूं (जहां मैंने भी शामिल किया है) लेकिन ऐप को खारिज करने और इसे पुनरारंभ करने के बाद, स्थानीय क्वेरी (ऑनलाइन रीफ्रेश किए बिना) इस त्रुटि के साथ विफल हो जाती है। –

+0

एक ही ऑब्जेक्ट क्लास के लिए दूसरी क्वेरी के बाद एक ही समस्या है लेकिन विभिन्न मानदंडों के साथ। क्वेरी में एक सरणी संबंध शामिल है। –

+0

मुझे संस्करण 1.7.5 के समान समस्या है। –

उत्तर

1

स्थानीय डेटास्टोर को एक अलग ऑब्जेक्ट पिन करने से पहले आपको उस अनुपलब्ध वस्तु का एक मजबूत संदर्भ बनाने की आवश्यकता है। मजबूत संदर्भ के बिना, ऑब्जेक्ट को ऑफ़लाइन कैश से बाहर निकाल दिया जाएगा, भले ही आपके द्वारा पिन की गई वर्तमान और अलग वस्तु को सहेजा जाएगा। इसलिए जब आप दोबारा पूछताछ करते हैं, तो आपको उपरोक्त त्रुटि संदेश मिलता है।

0

सुनिश्चित करें कि आप भी

[query includeKey:@"someKey1"]; 
सभी संकेत के लिए

बुला सभी वस्तुओं जो जरूरत हो सकती है करने के लिए वस्तुओं जो क्वेरी से संबंधित हो सकता के किसी भी पिन किया हुआ है।

1

मुझे एक ही समस्या थी। मेरा कारण यह था कि मैंने अपने कोड में दो स्थानों पर एक ही नाम के साथ एक ही क्वेरी ऑब्जेक्ट पिन किया। जब मैं नाम फ़ंक्शन के साथ पिन हटा देता हूं और बस उन्हें पिन करता हूं। मेरे लिए सब ठीक काम करते हैं।

संबंधित मुद्दे