प्रारंभ में मैंने सोचा कि यह काम करने जा रहा है, लेकिन अब मैं समझता हूं कि ऐसा नहीं होगा क्योंकि कलाकार चयन "कलाकार" वस्तुओं का एक एनएसएमयूटेबलएरे है।डिस्क पर ऑब्जेक्ट्स के एनएसएमयूटेबलएरे को सहेजें/लिखें?
@interface Artist : NSObject {
NSString *firName;
NSString *surName;
}
मेरा प्रश्न डिस्क पर रिकॉर्डिंग का सबसे अच्छा तरीका "कलाकार" वस्तुओं की मेरी NSMutableArray ताकि मैं उन्हें अगली बार मैं अपने एप्लिकेशन को चलाने के लोड कर सकते हैं क्या है?
artistCollection = [[NSMutableArray alloc] init];
newArtist = [[Artist alloc] init];
[newArtist setFirName:objFirName];
[newArtist setSurName:objSurName];
[artistCollection addObject:newArtist];
NSLog(@"(*) - Save All");
[artistCollection writeToFile:@"/Users/Fgx/Desktop/stuff.txt" atomically:YES];
संपादित
बहुत धन्यवाद, सिर्फ एक अंतिम बात मैं के बारे में उत्सुक हूँ। यदि "कलाकार" में आगे की वस्तुओं (अनुप्रयोग) के एनएसएमयूटेबलएरे (सॉफ़्टवेयरऑनड) का एक अतिरिक्त आवृत्ति चर शामिल है, तो मैं इसे कवर करने के लिए एन्कोडिंग का विस्तार कैसे करूं? क्या मैं "अनुप्रयोग" ऑब्जेक्ट में एनएससीओडी जोड़ूंगा, फिर "कलाकार" को एन्कोड करने से पहले एन्कोड करूँगा या "कलाकार" में इसे निर्दिष्ट करने का कोई तरीका है?
@interface Artist : NSObject {
NSString *firName;
NSString *surName;
NSMutableArray *softwareOwned;
}
@interface Application : NSObject {
NSString *appName;
NSString *appVersion;
}
बहुत धन्यवाद
गैरी
अपने संपादित उत्तर देने के लिए:
इस के साथ, आप संग्रह सांकेतिक शब्दों में बदलना कर सकते हैं बस अपने आवेदन वर्ग के लिए NSCoding लागू और, कलाकार के एन्कोड में विथकोडर: और initWithCoder :, म्यूटेबल सरणी के एन्कोडिंग/डिकोडिंग को संभालने के लिए लाइनें जोड़ें। जब खुद को एन्कोड करने के लिए कहा जाता है, तब सरणी अनुप्रयोग वस्तुओं को स्वयं को एन्कोड करने के लिए कहती है। –
आह मैं देखता हूं, सही, धन्यवाद ओले। – fuzzygoat