2008-11-26 10 views
6

आईफोन प्रोजेक्ट में डेटा फ़ाइल कैसे पढ़ता है? उदाहरण के लिए, की सुविधा देता है मुझे लगता है कि इस प्रकार संरचित है "level.dat" नामक एक स्थिर फ़ाइल है: बाधाओं: 10 समय: 100 obstacle1: 10,20 ...आईफोन प्रोजेक्ट में डेटा फ़ाइलों को लोड करना

मैं पढ़ने के लिए चाहते हैं एनएसएसटींग में फ़ाइल की सामग्री तब पार्सिंग करें। मैं एक स्ट्रिंग में फ़ाइल की सामग्री कैसे पढ़ूं? साथ ही, परियोजना में जहां "level.dat" फ़ाइल रहनी चाहिए? क्या यह "संसाधन" या सिर्फ मुख्य निर्देशिका में होना चाहिए?

अग्रिम धन्यवाद!

उत्तर

18

यह उत्तर देखें: How to fopen() on the iPhone? जो दिखाता है कि आपके बंडल में संसाधनों तक पहुंच कैसे प्राप्त करें। एक बार आपके पास पथ हो जाने के बाद, बस [NSString stringWithContentsOfFile: एन्कोडिंग: त्रुटि:] का उपयोग करें।

NSString *path = [[NSBundle mainBundle] pathForResource: @"level" ofType: @"dat"] 
NSError *error = nil; 
NSString *data = [NSString stringWithContentsOfFile: path 
              encoding: NSUTF8StringEncoding 
               error: &error]; 
-1

आप डेटा स्ट्रिंग को पार्स करने में मदद की जरूरत है, वहाँ Cocoa For Scientist

3

इस जबकि पर एक उपयोगी लेख है क्या आप के लिए, plists में अपनी फ़ाइलें करने पर विचार को कहा है नहीं। आप उन्हें एक्सएमएल में पुन: प्रारूपित करना होगा, लेकिन फिर आप के साथ एक NSDictionary में सीधे उन्हें लोड कर सकते हैं:

dict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"levels" ofType:@"plist"]]; 
+0

ध्यान दें कि आप एक ही चीज़ को सरणी के साथ कर सकते हैं, यह संभावना है कि उसका डेटा एक शब्दकोश के बजाय शीर्ष स्तर के सरणी के लिए अधिक उपयुक्त हो सकता है। –

0

आप एक फ्लैट फ़ाइल के बजाय एक SQLite डेटाबेस में डेटा डाल विचार किया है? मुझे लगता है कि आईपीआई पर आईपीआई का उपयोग करना बहुत आसान है।

इस प्रकार मैं फोन पर अपने सभी डेटा संग्रहण को कैसे करता हूं।

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