Tips for Converting UIColor object to NSData
Converting a UIColor object, view.backgroundColor, to an NSData object
/* 1. Archive into NSData object */
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:view.backgroundColor];
[dict setObject:data forKey:@”backgroundColor”];
…
/* 2. Unarchive from NSData object */
NSData *data = [dict objectForKey:@”backgroundColor”];
if ( data != nil ) {
view.backgroundColor = [NSKeyedUnarchiver unarchiveObjectWithData:data];
}
Code example 2: Writing an NSMutableDictionary object to a file with the converted color data stored in the dictionary
/* 1. Dictionary object and file name */
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
NSString *dictionaryFileName = @”…”;
/* 2. Do some dictionary stuff: adding key/object pairs */
/* … */
/* 3. UIColor object that we want to save to the file */
UIColor *myColor = [UIColor greenColor];
/* 4. Convert the UIColor object to NSData object and then add it to dictionary */
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:myColor];
[dictionary setObject:data forKey:@”myColor”];
/* 5. Write the dictionary to a file */
if ( [dictionary writeToFile:dictionaryFileName atomically:YES] == NO ) {
/* Use of NSData object instead of UIColor will avoid flowing through here */
/* ERROR: Couldn’t write to the file */
}
[dictionary release];
Discover more from CODE t!ps
Subscribe to get the latest posts sent to your email.