Skip to content

Instantly share code, notes, and snippets.

@windix
Created August 7, 2009 03:30
Show Gist options
  • Save windix/163691 to your computer and use it in GitHub Desktop.
Save windix/163691 to your computer and use it in GitHub Desktop.
// Get property by name: "performSelector:"
- (void)encodeWithCoder:(NSCoder *)encoder {
for(int i=0; i<kFieldCount; i++) {
NSString *fieldName = [[NSString alloc]initWithFormat:@"field%d", i+1];
//NSString *field = [self performSelector:sel_getUid([fieldName UTF8String])];
NSString *field = [self valueForKey:fieldName];
[encoder encodeObject:field forKey:fieldName];
[fieldName release];
}
// [encoder encodeObject:field1 forKey:kField1Key];
// [encoder encodeObject:field2 forKey:kField2Key];
// [encoder encodeObject:field3 forKey:kField3Key];
// [encoder encodeObject:field4 forKey:kField4Key];
}
// Set property by name: "setValue:forKey:"
- (id)initWithCoder:(NSCoder *)decoder {
if (self = [super init]) {
for(int i=0; i<kFieldCount; i++) {
NSString *fieldName = [[NSString alloc]initWithFormat:@"field%d", i+1];
NSString *field = [decoder decodeObjectForKey:fieldName];
[self setValue:field forKey:fieldName];
[fieldName release];
}
// field1 = [decoder decodeObjectForKey:kField1Key];
// field2 = [decoder decodeObjectForKey:kField2Key];
// field3 = [decoder decodeObjectForKey:kField3Key];
// field4 = [decoder decodeObjectForKey:kField4Key];
}
return self;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment