object-c中的int NSInteger NSUInteger NSNumber辨析

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
@autoreleasepool {
/*
int NSInteger NSUInteger的区别
1.这三个都是基本类型,声明的时候都不带*号
2.int和后两者的区别是,用int声明的时候要考虑机型,在32位机里是int类型,在64位里就有可能是long型,而用后两者后,就不用考虑这个问题了,他们会自动判别
3.NSUInteger是无符号的,即没有负数,NSInteger是有符号的。
*/
//1.声明一个int型
int num1=1;
NSLog(@"%i",num1);
//2.声明一个NSInteger型
NSInteger num2=2;
NSLog(@"%li",num2);
//3.声明一个NSUInteger型
NSUInteger num3=3;
NSLog(@"%li",num3);
/*
基本类型和NSNumber的区别
1.NSNumber是一个类
2.NSNumber可以将基本数字类型转化为对象,从而可以调用NSNumber中的相关方法
*/
//4.声明一个NSNumber (将int型转化为NSNumber型)
NSNumber *num4=[NSNumber numberWithInt:num1];
NSNumber *num5=[NSNumber numberWithInt:num2];
NSLog(@"%@",num4);
//5.将NSNumber型转化为int型
int num6=[num4 intValue];
NSLog(@"%i",num6);
//6.不同类型之间的相加
/*
1.基本类型之间有时可以直接相加(比如int型和NSInteger型,结果为long型)
2.基本类型和NSNumber不可以直接相加
3.NSNumber和NSNumber 不可以直接相加,须先转化为基本类型再相加
*/
NSLog(@"%li",num3+num1); }
return 0;
}

object-c中的int NSInteger NSUInteger NSNumber辨析的更多相关文章

  1. int, NSInteger, NSUInteger, NSNumber的区别

    新手在接触iOS或者Mac开发的时候,看到int和NSInteger,一般不清楚应该用哪个比较合适.我们先来查看下NSInteger的定义 #if __LP64__ || (TARGET_OS_EMB ...

  2. ios开发 int,NSInteger,NSUInteger,NSNumber

    分享一下,在工作工程中遇到的一些不留心的地方: 1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备 ...

  3. iOS开发之int,NSInteger,NSUInteger,NSNumber的使用

    1.首先先了解下NSNumber类型: 苹果官方文档地址:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/F ...

  4. 数字类型(NSInteger,NSUInteger,NSNumber)

    在Objective-C中,我们可以使用c中的数字数据类型,int.float.long等.它们都是基本数据类型,而不是对象.也就是说,不能够向它们发送消息.然后,有些时候需要将这些值作为对象使用. ...

  5. 重写Object类中的equals方法

    Object是所有类的父亲,这个类有很多方法,我们都可以直接调用,但有些方法并不适合,例如下面的student类 public class Student { //姓名.学号.年纪 private S ...

  6. 【Java基础之Object类(一)】Java中Object类中的所有方法(toString、equals、hashCode、clone、finalize、wait和notify等)详解(转载)

    java中的hashcode.equals和toString方法都是基类Object的方法. 首先说说toString方法,简单的总结了下API说明就是:返回该对象的字符串表示,信息应该是简明但易于读 ...

  7. 【学习总结】整理一下int, NSInteger 等概念

    基本需要知道的 : unsigned : 没符号的 signed  : 有符号的 int : 整型 看看OC的定义 : #if __LP64__ || (TARGET_OS_EMBEDDED & ...

  8. asp.net将object或string转为int

    在C#强制转换中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 ...

  9. Object类中方法详解

    目录 概述 hashCode方法 getClass方法 toString方法 equals方法 clone方法 finalize方法 概述 Object 是类层次结构的根类.每个类都使用 Object ...

随机推荐

  1. QP移植

    以STM32平台为例,该单片机的ARM Cortex-M系列内核正是被QP长期支持,所以QP在ARM Cortex-M系列内核上已经有长时间的应用验证. 在配套书籍PSICC2中的例程为QP最原始的版 ...

  2. 在Android上为所欲为的一些技术

    https://www.jianshu.com/p/87ce6f565d37Android JNI(一)——NDK与JNI基础 https://www.android-doc.com/guide/co ...

  3. 在Spring Boot中使用Docker在测试中进行高级功能测试

    最近又学到了很多新知识,感谢优锐课老师细致地讲解,这篇博客记录下自己所学所想. 想更多地了解Spring Boot项目中的功能测试吗?这篇文章带你了解有关在测试中使用Docker容器的更多信息. 本文 ...

  4. RecursiveTask和RecursiveAction的使用总结

    一:什么是Fork/Join框架    Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架.我们再通 ...

  5. cs服务器搭建(cobaltstrike)

    linux服务器中安装 1.因为cs这个工具需要用到Java环境,新装的linux系统没有Java环境,所以这里先装一下java环境 yum install -y java-1.8.0-openjdk ...

  6. Http请求头安全策略

    今天在网上浪了许久,只是为了找一个很简单的配置,却奈何怎么都找不到. 好不容易找到了,我觉得还是记录下来的好,或许省得许多人像我一样浪费时间. 1.X-Frame-Options 如果网站可以嵌入到I ...

  7. Python 中 unittest 单元测试框架中需要知识点

    现在正在使用 unittest 框架,我们来记录下这个框架的知识点: unittest 框架:我们在写接口用例的时候,会继承 unittest 当中的 TestCase 的类和方法,私有方法除外,来识 ...

  8. Javascript小白经典题型(一)

    1. 输出是什么? function sayHi() { console.log(name) console.log(age) var name = 'Lydia' let age = 21 } sa ...

  9. json查询结果绑定

    M_Hisorder.doQuery = function (){ $("#dataList").empty(); var data = ""; var url ...

  10. 案例分析丨谷歌设计冲刺 4 天决定 Clips 的功能特性

    这次为大家带来Google冲刺日程案例,之前案例分析可以戳对应文字直达:ING集团.音乐流媒体Spotify.美国知名超市Target 作为一款工具类产品,谷歌十分注重产品候选人的技术背景,同时也看重 ...