前面說過OC是兼容C語言的語法的,同樣C語言的基本數據類型在OC中照樣可以使用。
C語言的基本類型,這里就不再贅述了,咱們直接來看OC的數據類型;
//主函數
//首先是整數類型NSInteger,定義一個整數類型的變量i
NSInteger i = 123;
//那么這是個啥玩意呢?別急,按住command點擊NSInteger,進去之后就會發現
//注:點進去后會跳轉到系統文件里,所以不要對這些文件做任何修改、哪怕是一個空格,否則會導致Xcode的環境變化,很麻煩
#if __LP64__ || (TARGET_OS_EMBEDDED && !TARGET_OS_IPHONE) || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64
typedef long NSInteger;
typedef unsigned long NSUInteger;
#else
typedef int NSInteger;
typedef unsigned int NSUInteger;
#endif
//原來NSInteger就是C語言中的類型重定義的,這段話的意思就是,在32位系統下NSInteger就是C語言中的int類型(不過現在基本上都是64位系統了),64位系統下就是C語言的long類型
//NSUInteger 就是無符號的NSInteger
NSUInteger uint = -32;
NSLog(@"i = %lu, unit = %lu",i,uint);
//輸出i = 123, unit = 18446744073709551584可以看到i = 123是正確的,unit一看就知道不正確,原因是因為,NSUInteger是無符號的,即非負整數
//小數CGFloat,64位系統下就是C語言中的double,32位是float
CGFloat pi = 3.14;
NSLog(@"pi = %.2f",pi);//輸出pi = 3.14
//BOOL型,值為YES或者NO,C語言中為Ture false,數值為(0,1)
BOOL isYES = NO;
NSLog(@"%u",isYES);
//字符串、數組、字典,是OC中的3大工廠類,以后再細說
NSString * str;//字符串
NSArray * array;//數組
NSDictionary * dict;//字典
//表示時間的類NSDate;
//表示數據的類NSData;
//表示數值對象的類NSNumber;
喜歡的話,幫忙點一下喜歡,謝謝!
如果有錯誤之處或者偏差,還請斧正!
歡迎大家留言提問,技術要交流才能更快成長!