This is exactly what Key-Value Coding (KVC) was made for. Example:
NSString *currentKey = @"activityDescription";
NSString *oldDescription = [myActivity valueForKey:currentKey];
[myActivity setValue:@"My Description" forKey:currentKey];
You don't use a pointer (in the C sense of the word) but a key of type NSString
. You can use KVC to get and set arbitrary properties of objects.
Apple's guide has all the details.