前面說過OC是兼容C語言的語法的迹鹅,同樣C語言的基本數(shù)據(jù)類型在OC中照樣可以使用。
C語言的基本類型丘侠,這里就不再贅述了徒欣,咱們直接來看OC的數(shù)據(jù)類型;
//主函數(shù)
//首先是整數(shù)類型NSInteger蜗字,定義一個整數(shù)類型的變量i
NSInteger i = 123;
//那么這是個啥玩意呢打肝?別急,按住command點擊NSInteger,進(jìn)去之后就會發(fā)現(xiàn)
//注:點進(jìn)去后會跳轉(zhuǎn)到系統(tǒng)文件里挪捕,所以不要對這些文件做任何修改粗梭、哪怕是一個空格,否則會導(dǎo)致Xcode的環(huán)境變化级零,很麻煩
#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位系統(tǒng)下NSInteger就是C語言中的int類型(不過現(xiàn)在基本上都是64位系統(tǒng)了),64位系統(tǒng)下就是C語言的long類型
//NSUInteger 就是無符號的NSInteger
NSUInteger uint = -32;
NSLog(@"i = %lu, unit = %lu",i,uint);
//輸出i = 123, unit = 18446744073709551584可以看到i = 123是正確的鉴嗤,unit一看就知道不正確斩启,原因是因為,NSUInteger是無符號的醉锅,即非負(fù)整數(shù)
//小數(shù)CGFloat,64位系統(tǒng)下就是C語言中的double,32位是float
CGFloat pi = 3.14;
NSLog(@"pi = %.2f",pi);//輸出pi = 3.14
//BOOL型兔簇,值為YES或者NO,C語言中為Ture false,數(shù)值為(0硬耍,1)
BOOL isYES = NO;
NSLog(@"%u",isYES);
//字符串垄琐、數(shù)組、字典经柴,是OC中的3大工廠類狸窘,以后再細(xì)說
NSString * str;//字符串
NSArray * array;//數(shù)組
NSDictionary * dict;//字典
//表示時間的類NSDate;
//表示數(shù)據(jù)的類NSData;
//表示數(shù)值對象的類NSNumber;
喜歡的話,幫忙點一下喜歡坯认,謝謝!
如果有錯誤之處或者偏差翻擒,還請斧正!
歡迎大家留言提問,技術(shù)要交流才能更快成長鹃操!