真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Foundation框架(1)數(shù)值對(duì)象與結(jié)構(gòu)體對(duì)象-創(chuàng)新互聯(lián)

  • Foundation框架

    讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名注冊(cè)、虛擬空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、宜豐網(wǎng)站維護(hù)、網(wǎng)站推廣。

Foundation框架是所有iOS/MacOSX開(kāi)發(fā)的基礎(chǔ)框架

最初版本由NextStep公司開(kāi)發(fā),故其前綴為NS

該框架中主要包含:

    基本數(shù)據(jù)類(lèi)型

    常用函數(shù)

    結(jié)構(gòu)體及相關(guān)操作函數(shù)

    枚舉類(lèi)型

    功能豐富的類(lèi)

頭文件:

@import 

  • 數(shù)值類(lèi)型及數(shù)值對(duì)象

整型:

  類(lèi)型:NSInteger、NSUInteger

    宏定義:NSIntegerMax、NSIntegerMin、NSUIntegerMax

浮點(diǎn)類(lèi)型:(實(shí)型)

    類(lèi)型:CGFloat

    宏定義:CGFLOAT_MAX、CGFLOAT_MIN

...

這些數(shù)值類(lèi)型并不是Objective-C的對(duì)象,也就是說(shuō)不能進(jìn)行很多面向?qū)ο蟮牟僮?/p>

數(shù)值對(duì)象:

    NSNumber將各種數(shù)值類(lèi)型數(shù)據(jù)封裝成Objective-C對(duì)象

字面值初始化:

    利用@關(guān)鍵字

NSNumber *num1 = @10;
NSNumber *num2 = @YES;
NSNumber *num3 = @'A';
NSNumber *num4 = @3.14;
int age = 10;
NSNumber *num5 = @(age);

數(shù)值對(duì)象的構(gòu)造方法:

+ (NSNumber *)numberWithBool:(BOOL)value
+ (NSNumber *)numberWithChar:(char)value
+ (NSNumber *)numberWithDouble:(double)value
+ (NSNumber *)numberWithFloat:(float)value
+ (NSNumber *)numberWithInteger:(NSInteger)value
+ (NSNumber *)numberWithLong:(long)value
...

  • 幾何數(shù)據(jù)結(jié)構(gòu)體

此部分介紹的結(jié)構(gòu)體,不是類(lèi),用描述一些幾何數(shù)據(jù)

NSRange表示范圍:

typedef struct _NSRange {
    NSUInteger location;     //表示起始范圍
    NSUInteger length;       //表示范圍長(zhǎng)度
} NSRange;
NSRange r1 = { 2, 4};        //不推薦
NSRange r2 = { .location=2, .length=4 }; //不推薦
NSRange r3 = NSMakeRange(2, 4);     //推薦使用這種方式

CGSize表示二維尺寸:

struct CGSize {
    CGFloat width;     //表示寬度
    CGFloat height;    //表示高度
};
typedef struct CGSize CGSize;
CGSize s1 = CGSizeMake(40, 60);
NSLog(@"%@", NSStringFromCGSize(s1));

CGPoint表示位置

struct CGPoint {
    CGFloat x;     CGFloat y;
};
typedef struct CGPoint CGPoint;
CGPoint p1 = CGPointMake(10, 10);
NSLog(@"%@", NSStringFromCGPoint(p1));

CGRect表示矩形的尺寸及位置

struct CGRect {
    CGPoint origin;
    CGSize size;
};
typedef struct CGRect CGRect;
CGRect r1 = CGRectMake(0, 0, 100, 50);
NSLog(@"%@", NSStringFromCGRect(r1));

其他常用函數(shù)

//比較兩個(gè)點(diǎn)是否相同
bool CGPointEqualToPoint(CGPoint point1, CGPoint point2);
//比較兩個(gè)尺寸是否相同
bool CGSizeEqualToSize(CGSize size1, CGSize size2);
//比價(jià)兩個(gè)Rect是否相同
bool CGRectEqualToRect(CGRect rect1, CGRect rect2);
//判斷Rect中是否包含某個(gè)點(diǎn)
bool CGRectContainsPoint(CGRect rect, CGPoint point);

這些幾何數(shù)據(jù)類(lèi)型,都有表示0的常量

    CGPointZero  CGSizeZero CGRectZero

  • 幾何數(shù)據(jù)類(lèi)型封裝成對(duì)象

數(shù)值類(lèi)型可以封裝到NSNumber對(duì)象中

這些常用的結(jié)構(gòu)體可以封裝到NSValue對(duì)象中,NSValue是NSNumber的父類(lèi)

+ (NSValue *)valueWithRange:(NSRange)range
+ (NSValue *)valueWithCGPoint:(CGPoint)point
+ (NSValue *)valueWithCGSize:(CGSize)size
+ (NSValue *)valueWithCGRect:(CGRect)rect
@property(readonly) NSRange rangeValue
- (CGPoint)CGPointValue
- (CGSize)CGSizeValue
- (CGRect)CGRectValue

NSValue還可以封裝:

    形變結(jié)構(gòu)體CGAffineTransform

    邊距結(jié)構(gòu)體UIEdgeInsets

    3D形變結(jié)構(gòu)體CATransform3D

    經(jīng)緯度結(jié)構(gòu)體MKCoordinate

    ...

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。


本文標(biāo)題:Foundation框架(1)數(shù)值對(duì)象與結(jié)構(gòu)體對(duì)象-創(chuàng)新互聯(lián)
文章鏈接:http://weahome.cn/article/csidsc.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部