美文网首页 移动 前端 Python Android Java
献给Objective-C的初学者--入门篇(三)认识OC数据类

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

作者: 我開始方了 | 来源:发表于2016-05-20 17:05 被阅读296次

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

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

    相关文章

      网友评论

        本文标题:献给Objective-C的初学者--入门篇(三)认识OC数据类

        本文链接:https://www.haomeiwen.com/subject/zjjnrttx.html