oc/object-c/ios用int还是NSInteger

当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的。
 可以看如下定义:
#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

oc/object-c/ios用int还是NSInteger,布布扣,bubuko.com

时间: 2024-10-05 23:56:53

oc/object-c/ios用int还是NSInteger的相关文章

int、 NSInteger、 NSUInteger、NSNumber之间的区别和联系

int. NSInteger. NSUInteger.NSNumber之间的区别和联系 int : 当使用int类型定义变量的时候,可以像写C程序一样,用int也可以用NSInteger,推荐使用NSInteger ,因为这样就不用考虑设备是32位还是64位了. NSUInteger是无符号的,即没有负数,NSInteger是有符号的. NSInteger是基础类型,NSNumber是一个类,如果需要存储一个数值,直接使用NSInteger是不行的,比如在一个数组里使用下面的语句就会报错: NS

int、NSInteger、NSUInteger、NSNumber的区别和联系

1.首先先了解下NSNumber类型: NSNumber是NSValue的一个子类,它是一个对象来存储数字值包括bool型,它提供了一系列的方法来存储char a signed or unsigned char, short int, int, long int, long long int, float, or double or as a BOOL,它提供了一个compare:方法来决定两个NSNumber对象的排序: 创建一个NSNumber对象有以下方法: 1 + (NSNumber *

ios开发 int,NSInteger,NSUInteger,NSNumber

分享一下,在工作工程中遇到的一些不留心的地方: 1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的.2.NSUInteger是无符号的,即没有负数,NSInteger是有符号的.3.有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的. NSInteger是基础类型,但是NSNumber是一个类.如果想要在NSMutable

【IOS】int,NSInteger,NSUInteger,NSNumber

1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的. 2.NSUInteger是无符号的,即没有负数,NSInteger是有符号的. 3.有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的. NSInteger是基础类型,但是NSNumber是一个类.如果想要存储一个数值,直接用NSInteger是不行的,比如在一个Arr

Mysql查询数字类型结果为Object,强转int报错

问题描述: SQL文:SELECT COUNT(1) NUM FROM test WHERE 1=1 Java代码: 图中强转int失败 问题原因: dal层查询出来的数字是Long型的,所以强转int会失败 解决办法: 将查询出来的Object强转为long型即可

int和NSInteger区别

查到c语言中,int和long的字节数是和操作系统指针所占位数相等. 但c语言中说,long的长度永远大于或等于int objective-c里,苹果的官方文档中总是推荐用NSInteger 它和int有什么区别呢,stackoverflow这帮大神给了答案. 原来在苹果的api实现中,NSInteger是一个封装,它会识别当前操作系统的位数,自动返回最大的类型. 定义的代码类似于下: #if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE

Objective-C中int和NSInteger的区别

int是静态类型 NSInteger是动态类型 苹果官方推荐使用NSInteger,因为在苹果的api实现中,NSInteger是一个封装,它会识别当前操作系统的位数,自动返回最大的类型. 定义的代码类似于下: #if __LP64__ || TARGET_OS_EMBEDDED || TARGET_OS_IPHONE || TARGET_OS_WIN32 || NS_BUILD_32_LIKE_64 typedef long NSInteger; typedef unsigned long N

OC高级编程iOS多线程个人理解一

大部分笔记源自于:Objective-C高级编程(iOS与OS多线程和内存管理)一书,时间有些久远,甚至GCD网上说已经不需要手动释放release了,但是书中强调是使用GCD需要开发者自己管理计数. 首先什么是GCD? 这是Apple公司为了方便开发者,使开发者更专注于多线程中的任务执行内容的API,官方说明中:开发者要做的只是定义想执行的任务并追加到适当的Dispatch Queue中.是C语言但被组建成面像对象风格.他是我们是用来异步执行任务的技术之一.还有Pthread,NSThread

OC ---- 字典集合 iOS学习-----细碎知识点总结

实例方法的创建 NSDictionary *wukong = [[NSDictionary alloc] initWithObjectsAndKeys:@"悟空", @"name", @"男", @"gender", @"500", @"age", nil ]; NSLog(@"%@", wukong); // 便利构造器创建 NSDictionary *wuNeng