献给Objective-C的初学者--入门篇(三)认识OC数据类型

前面说过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;

喜欢的话,帮忙点一下喜欢,谢谢!
如果有错误之处或者偏差,还请斧正!
欢迎大家留言提问,技术要交流才能更快成长!

    原文作者:我開始方了
    原文地址: https://www.jianshu.com/p/bd9915664f5d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞