在oc中,數組中只能存放NSObject類型的數據,所以如果將CGPoint、CGSize、CGRect這些數據存到數組中,我們需要將他們轉換為對象類型才可以,
可以借助NSValue,它是用來將基本變量轉變為對象的一個常用對象,NSNumber就是繼承於它.
//這是將CGPoint、CGSize、CGRect等轉變成NSValue
+ (NSValue *)valueWithCGPoint:(CGPoint)point; + (NSValue *)valueWithCGVector:(CGVector)vector; + (NSValue *)valueWithCGSize:(CGSize)size; + (NSValue *)valueWithCGRect:(CGRect)rect; + (NSValue *)valueWithCGAffineTransform:(CGAffineTransform)transform; + (NSValue *)valueWithUIEdgeInsets:(UIEdgeInsets)insets; + (NSValue *)valueWithUIOffset:(UIOffset)insets NS_AVAILABLE_IOS(5_0);
//這是將NSValue轉變成CGPoint、CGSize、CGRect
- (CGPoint)CGPointValue;
- (CGVector)CGVectorValue;
- (CGSize)CGSizeValue;
- (CGRect)CGRectValue;
- (CGAffineTransform)CGAffineTransformValue;
- (UIEdgeInsets)UIEdgeInsetsValue;
- (UIOffset)UIOffsetValue NS_AVAILABLE_IOS(5_0);