前面说过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;
喜欢的话,帮忙点一下喜欢,谢谢!
如果有错误之处或者偏差,还请斧正!
欢迎大家留言提问,技术要交流才能更快成长!
网友评论