新手在接触iOS或者Mac开发的时候,看到int和NSInteger,一般不清楚应该用哪个比较合适.我们先来查看下NSInteger的定义 #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 N…
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位里就有可能是lo…
在Objective-C中,我们可以使用c中的数字数据类型,int.float.long等.它们都是基本数据类型,而不是对象.也就是说,不能够向它们发送消息.然后,有些时候需要将这些值作为对象使用. NSInteger.NSUInteger 当你不知道程序运行哪种处理器架构时,你最好使用NSInteger,因为在有可能int在32位系统中只是int类型,而在64位系统,int可能变是long型.除非不得不使用int/long型,否则推荐使用NSInteger. 从上面的定义可以看出NSInteg…
1.首先先了解下NSNumber类型: 苹果官方文档地址:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/Reference/Reference.html NSNumber是NSValue的一个子类,它是一个对象来存储数字值包括bool型,它提供了一系列的方法来存储char a signed or unsigned char, short…
分享一下,在工作工程中遇到的一些不留心的地方: 1.当需要使用int类型的变量的时候,可以像写C的程序一样,用int,也可以用NSInteger,但更推荐使用NSInteger,因为这样就不用考虑设备是32位的还是64位的.2.NSUInteger是无符号的,即没有负数,NSInteger是有符号的.3.有人说既然都有了NSInteger等这些基础类型了为什么还要有NSNumber?它们的功能当然是不同的. NSInteger是基础类型,但是NSNumber是一个类.如果想要在NSMutable…
1.首先先了解下NSNumber类型: 苹果官方文档地址:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/Reference/Reference.html NSNumber是NSValue的一个子类,它是一个对象来存储数字值包括bool型,它提供了一系列的方法来存储char a signed or unsigned char, short…
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对象有以下方法: + numberWithBool: + numberWithChar:…
一NSNumber 类型转换 NSNumber 把基本数据类型包装成一个对象类型.NSNumber之所以可以(只能)包装基本数据类型,是因为继承了NSValue. @20 等价于 [NSNumber numberWithInt:20]; NSNumber 将各种数据类型包装成NSNumber类型 @10.3 //包装小数为NSNumber @ //包装整数 为NSNumber @"abc" //包装字符型( NSString) 为NSNumber @'abc' //包装字符 (NSNu…
// // main.m // 01.基本数据类型 // // Created by zhangqs008 on 14-2-13. // Copyright (c) 2014年 zhangqs008. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //01.基本数据类型长度 NSLog(@"01…
1 小结: 1)int-->NSNumber:numberWithInt 2)NSNumber-->nsinteger:integerValue 3)string -->double:initWithString 4)CGFloat --> dobule:initWithFloat,decimalobj doubleValue 5)使用NSInteger,因为这样就不用考虑设备是32位的还是64位的. 6)NSInteger是基础类型,但是NSNumber是一个类.如果想要在NSM…