將CGPoint、CGSize、CGRect等放進數組的方法


在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);

 

參考資料一

參考資料二


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM