मेरा ऐप वर्तमान में (नमूना परियोजना से स्रोत) मेरा प्रश्न: मैं क्या मैं का उपयोग कर सकता हूं क्या आप आमतौर पर फ़ाइल को डिस्क पर डाउनलोड करें NSURLConnectionDelegate और NSOutputStream (इस तरह से आप डाउनलोड करते समय संभव के रूप में छोटी सी मेमोरी के रूप में उपयोग करते हैं) और उसके बाद एक NSInputStream खोलें फाइल करें और इसे CHCSVParser में पास करें। componentsSeparatedByCharactersInSet के संयोजन का उपयोग कर वेब सेवा से CSV फ़ाइलों को पार्स कर रहा है और < कोड> घटकों से अलग किए गए पाठ स्ट्रिंग विधियां जैसा कि फ़ाइलें बहुत बड़ी हैं (& gt; 1 एमबी औसत पर), पार्सिंग को एक iPad पर कुछ सेकंड लेता है, जो बहुत धीमा है मेरे समाधान का स्मृति पदचिह्न एक मुद्दा भी है (मैं मेमोरी में पूर्ण पाठ फ़ाइल रख रहा हूं)। यही कारण है कि मैं एक तेज और अधिक स्मृति कुशल समाधान की तलाश कर रहा हूं। मैं
CHCSVParser पर आया जो सीधे
NSInputStreams को पार्स कर सकते हैं, उदा। <पूर्व>
NSInputStream * stream = [NSInputStream इनपुटस्ट्रीमविथफाइलएटपाथ: फ़ाइल]; CHCSVParser * p = [[CHCSVParser alloc] initWithInputStream: स्ट्रीम का उपयोग किया गया एन्कोडिंग: & amp; एन्कोडिंग सीमांकक: ';'];
NSURLRequest के परिणामस्वरूप एक
NSInputStream कैसे प्राप्त कर सकता हूं? (वर्तमान में मुझे संपूर्ण सीएसवी फ़ाइल को
NSData वस्तु के रूप में मिल रहा है और इसे
NSString में परिवर्तित करने के लिए इसे पार्स करने के लिए)।
एनएसआईआईपीस्ट्रीम से सीधे
NSURLRequest से
CHSVParser
सीसीएसपीपरर्स s
initWithInputStream विधि के साथ एक
NSURLRequest के साथ या फिर दस्तावेज़ को मेमोरी में डाउनलोड करें और पूर्ण डाउनलोड के बाद अगर पार्स करें? < P>
No comments:
Post a Comment