2010-12-22 15 views
8

मुझे एक प्लिस्ट मिला है जिसे मैंने स्थानीयकृत किया है। मैं प्लिस्ट को ठीक से कैसे लोड करूं?मैं उचित स्थानीयकृत फ़ाइल कैसे लोड करूं?

NSArray *numbersArray = [[NSArray alloc] initWithContentsOfFile: 
     [[NSBundle mainBundle] pathForResource:@"Numbers" ofType:@"plist"]]; 

क्या मैं आदेश स्थानीय plist लोड करने के लिए मेरे कोड को बदलने की जरूरत है:

अभी, मैं इस कोड का उपयोग कर रहा हूँ?

+0

यह काम करना चाहिए। क्या ऐसा नहीं है? –

+0

@ डेवडेलांग - हाँ, यह मेरी गलती है। मैंने अपना निर्माण साफ़ नहीं किया और इसे सिम्युलेटर से हटा दिया। – Moshe

उत्तर

12
NSArray *numbersArray = [[NSArray alloc] 
    initWithContentsOfFile: 
    [[NSBundle mainBundle] pathForResource:@"Numbers" ofType:@"plist"]]; 

यह प्रदान की काम करना चाहिए आपको विश्वास दिलाता हूं कि आप निम्न बंडल लेआउट है:

MyApp.app 
// no Numbers.plist here 
..... 
en.lproj/ 
    Numbers.plist // english-version 
fr.lproj/ 
    Numbers.plist // french-version 

महत्वपूर्ण बात यह है कि आप (रूट स्तर पर एक Numbers.plist फ़ाइल aka- नहीं है है गैर-स्थानीय स्तर) बंडल के बाद से, यदि आप करते हैं, तो नंबर.प्लिस्ट हमेशा स्थानीय संस्करण (प्रदर्शन कारणों से) पर प्राथमिकता लेगा।

+0

क्या फ़्रेंच-वर्जन मौजूद नहीं है तो अंग्रेजी संस्करण लोड करने का कोई तरीका है? – yuf

+0

@ यूफ: क्या आप सोच रहे हैं कि क्या हो सकता है, उदाहरण के लिए, आपके नंबर .plist फ़ाइल को 'en' और' es' (और 'fr') में स्थानांतरित नहीं किया गया है, और एक फ्रांसीसी उपयोगकर्ता आपके ऐप का उपयोग करता है? मैं समझाने के लिए उत्तर अद्यतन कर सकता हूं, यदि ऐसा है ... – NSGod

+0

हाँ मैं हूं। यह इस प्रश्न के लिए प्रासंगिक नहीं है। मैंने एक अलग सवाल किया और यदि आप इसका उत्तर दे सकते हैं तो कृपया करें! – yuf

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