Revision: 4989
http://skim-app.svn.sourceforge.net/skim-app/?rev=4989&view=rev
Author: hofman
Date: 2008-11-24 00:13:32 +0000 (Mon, 24 Nov 2008)
Log Message:
-----------
insert abstract value transformer class for arrays
Modified Paths:
--------------
trunk/SKUnarchiveFromDataArrayTransformer.h
trunk/SKUnarchiveFromDataArrayTransformer.m
Modified: trunk/SKUnarchiveFromDataArrayTransformer.h
===================================================================
--- trunk/SKUnarchiveFromDataArrayTransformer.h 2008-11-23 18:48:37 UTC (rev
4988)
+++ trunk/SKUnarchiveFromDataArrayTransformer.h 2008-11-24 00:13:32 UTC (rev
4989)
@@ -40,5 +40,9 @@
extern NSString *SKUnarchiveFromDataArrayTransformerName;
[EMAIL PROTECTED] SKUnarchiveFromDataArrayTransformer : NSValueTransformer
[EMAIL PROTECTED] SKArrayValueTransformer : NSValueTransformer
++ (NSValueTransformer *)itemValueTransformer;
@end
+
[EMAIL PROTECTED] SKUnarchiveFromDataArrayTransformer : SKArrayValueTransformer
[EMAIL PROTECTED]
Modified: trunk/SKUnarchiveFromDataArrayTransformer.m
===================================================================
--- trunk/SKUnarchiveFromDataArrayTransformer.m 2008-11-23 18:48:37 UTC (rev
4988)
+++ trunk/SKUnarchiveFromDataArrayTransformer.m 2008-11-24 00:13:32 UTC (rev
4989)
@@ -40,23 +40,28 @@
NSString *SKUnarchiveFromDataArrayTransformerName =
@"SKUnarchiveFromDataArrayTransformer";
[EMAIL PROTECTED] SKUnarchiveFromDataArrayTransformer
[EMAIL PROTECTED] SKArrayValueTransformer
+
++ (NSValueTransformer *)itemValueTransformer {
+ return [[[NSValueTransformer alloc] init] autorelease];
+}
+
+ (Class)transformedValueClass {
return [NSArray class];
}
+ (BOOL)allowsReverseTransformation {
- return YES;
+ return [[[self itemValueTransformer] class] allowsReverseTransformation];
}
- (NSArray *)transformedArray:(NSArray *)array usingSelector:(SEL)selector {
- NSValueTransformer *unarchiveTransformer = [NSValueTransformer
valueTransformerForName:NSUnarchiveFromDataTransformerName];
+ NSValueTransformer *itemValueTransformer = [[self class]
itemValueTransformer];
NSMutableArray *transformedArray = [NSMutableArray
arrayWithCapacity:[array count]];
NSEnumerator *objEnum = [array objectEnumerator];
- NSData *obj;
+ id obj;
while (obj = [objEnum nextObject])
- [transformedArray addObject:[unarchiveTransformer
performSelector:selector withObject:obj]];
+ [transformedArray addObject:[itemValueTransformer
performSelector:selector withObject:obj] ?: [NSNull null]];
return transformedArray;
}
@@ -69,3 +74,13 @@
}
@end
+
+#pragma mark -
+
[EMAIL PROTECTED] SKUnarchiveFromDataArrayTransformer
+
++ (NSValueTransformer *)itemValueTransformer {
+ return [NSValueTransformer
valueTransformerForName:NSUnarchiveFromDataTransformerName];
+}
+
[EMAIL PROTECTED]
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit