2010-03-21 10 views
5

में छवि संग्रहीत करना हम प्लेस्ट फ़ाइल में छवियों को कैसे स्टोर कर सकते हैं। यह प्लेस्ट फ़ाइल कहां संग्रहीत है? क्या कोई मुझे एक उदाहरण दे सकता है? उत्तर की सराहना की जाएगी!प्लिस्ट

उत्तर

8

UIImage सीधे NSCoder प्रोटोकॉल लागू नहीं है कि plists में भंडारण के लिए आवश्यक है।

लेकिन, यह नीचे जैसा जोड़ना काफी आसान है।

UIImage + NSCoder.h

#import <Foundation/Foundation.h> 

@interface UIImage (MyExtensions) 
- (void)encodeWithCoder:(NSCoder *)encoder; 
- (id)initWithCoder:(NSCoder *)decoder; 
@end 

UIImage + NSCoder.m

#import "UIImage+NSCoder.h" 

@implementation UIImage (MyExtensions) 

- (void)encodeWithCoder:(NSCoder *)encoder 
{ 
    [encoder encodeDataObject:UIImagePNGRepresentation(self)]; 
} 

- (id)initWithCoder:(NSCoder *)decoder 
{ 
    return [self initWithData:[decoder decodeDataObject]]; 
} 

@end 

जब यह जोड़ दिया गया है आप के साथ plist में UIImages स्टोर करने के लिए सक्षम हो जाएगा यानी

// Get a full path to a plist within the Documents folder for the app 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                NSUserDomainMask, 
                YES); 
NSString *path = [NSString stringWithFormat:@"%@/my.plist", 
               [paths objectAtIndex:0]]; 

// Place an image in a dictionary that will be stored as a plist 
[dictionary setObject:image forKey:@"image"]; 

// Write the dictionary to the filesystem as a plist 
[NSKeyedArchiver archiveRootObject:dictionary toFile:path]; 

नोट: मैं ऐसा करने की अनुशंसा नहीं करता, जब तक कि आप वास्तव में नहीं चाहते हैं, यानी वास्तव में छोटी छवियों के लिए।

0

प्लिस्ट फाइलें कुंजी-मूल्य जोड़े को स्टोर करने के लिए हैं, न कि आपके आवेदन के संसाधनों। आइकन, छवियों और रूपों को आमतौर पर .xib फ़ाइल में संग्रहीत किया जाता है (इंटरफ़ेस बिल्डर देखें)

+1

धन्यवाद आपके सुझाव के लिए बहुत कुछ !! – isarathg

1

इस छवियों को एप्लिकेशन पर कहां और कब जाना जाता है, इस पर निर्भर करता है।

एप्लिकेशन बंडलर के हिस्से के रूप में छवियों के लिए, here कुछ अंतर्दृष्टि प्रदान कर सकता है। यदि आप के दौरान छवियों को स्टोर करना चाहते हैं तो आप उसी अवधारणाओं का उपयोग कर सकते हैं (उपयोगकर्ता छवियों के सापेक्ष पथ के साथ उपयोगकर्ता plist)।

- फ्रैंक

4

हमेशा छवि पथ को .plist में संग्रहीत करें, वास्तविक छवि कभी नहीं। यदि आप करते हैं, तो आप एक प्रदर्शन हिट लेंगे। आप छवियों को लोड करना चाहते हैं क्योंकि आपको उनकी आवश्यकता है, सभी एक साथ नहीं।

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