1. Convert CGPoint/CGRect/CGSize to NSValue
NSValue *valPoint = [NSValue valueWithCGPoint:CGPointMake(10, 10)];
NSValue *valRect = [NSValue valueWithCGRect:CGRectMake(0, 0, 10, 10)];
NSValue *valSize = [NSValue valueWithCGSize:CGSizeMake(10, 10)];
new line
2. Get CGPoint/CGRect/CGSize out of NSValue
CGPoint pt = [valPoint CGPointValue];
CGRect rect = [valRect CGRectValue];
CGSize size = [valSize CGSizeValue];