Objective-C学习- 数字对象 NSNumber

  对于Objective-C 的数组 NSArray  只能存对象,不能存取基本数据类型,如 整型int 、浮点型float、 双精度浮点型double、 字符型char,但Objective-C为了能够将基本数据类型存到数组,有一个类型叫做NSNumber 的类型,叫做数字对象。(有些字词用的不是很准确,待找到合适的词定会修改过来)

用法如下:

  // 将 整型int 转换成 NSNumber 类型

   NSNumber * number_int = [[NSNumber alloc] initWithInt:65];

// 将 字符型char 转换成 NSNumber 类型

   NSNumber * number_char = [[NSNumber alloc]  initWithChar:‘A‘];

//将 浮点型float 转换成 NSNumber 类型

   NSNumber * number_float = [[NSNumber alloc] initWithFloat:2.0f];

//将 双精度浮点型double 转换成 NSNumber 类型

  NSNumber * number_double = [[NSNumber alloc] initWithDouble:5.6];

//初学者想要通过键盘输入来赋值,其实原理是一样的,例如:将浮点类型c转换成 NSNumber 类型

   char c ;

  scanf("%c",&c);

   NSNumber * number_free = [[NSNumber alloc] initWithChar:c];

//将 NSNumber类型 转换成 整型int

   int iNumber = [number_int intValue];

//将 NSNumber类型 转换成 字符型char

  char cNumber = [number_char charValue];

//将 NSNumber类型 转换成 浮点型float

  float fNumber = [number_float floatValue];

//将 NSNumber类型 转换成 双精度浮点类型

   double dNumber = [number_double doubleValue];

/*

[number isEqualToNumber:(NSNumber *)] 函数是比较两个 NSNumber类型的方法

BOOL 类型的返回值 只有两种  一是YES(也就是1)  二是NO(也就是0)

‘A‘ 的ASCALL 码是 65

number_int对象的值就是65

number_char对象的值是‘A’,相比较是相等的,因为‘A’就是65

*/

BOOL isSame = [number_int isEqualToNumber:number_char];

时间: 2024-11-05 08:05:23

Objective-C学习- 数字对象 NSNumber的相关文章

Snail—OC学习之NSNumber

在以后的学习或者以后做项目的时候 会希望把基本数据类型,例如:int.float等等数值 也存到数组或者字典中 因为数组.字典只能存储对象 所以,NSNumber类可以对基本数据进行封装成一个对象 进行存储 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { NSNumber * intNumber = [NSNumber numberWithInt:11]

Objective - C学习笔记:UIView的使用方法

1.1 - (void)layoutSubviews; * 当一个控件的frame发生改变的时候就会自动调用 * 一般在这里布局内部的子控件(设置子控件的frame) * 一定要调用super的layoutSubviews方法 1.2 - (void)didMoveToSuperview; * 当一个控件被添加到父控件中就会调用 1.3 - (void)willMoveToSuperview:(UIView *)newSuperview; * 当一个控件即将被添加到父控件中会调用 @interf

Objective - C 学习笔记:UIPickerView 和 UIDatePicker的基本使用

1.UIPickerView 1.1. UIPickerView的常见属性 // 数据源(用来告诉UIPickerView有多少列多少行) @property(nonatomic,assign) id<UIPickerViewDataSource> dataSource; // 代理(用来告诉UIPickerView每1列的每1行显示什么内容,监听UIPickerView的选择) @property(nonatomic,assign) id<UIPickerViewDelegate>

Objective - C 学习笔记:程序启动原理

1.Info.plist常见的设置 * 建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 * 在旧版本Xcode创建的工程中,这个配置文件的名字就叫“Info.plist” * 项目中其他Plist文件不能带有“Info”这个字眼,不然会被错认为是传说中非常重要的“Info.plist” * 项目中还有一个InfoPlist.strings的文件,跟Info.plist文件的本地化相关

objective - C学习笔记: tableView的刷新

1: 数据刷新的总体步骤 1.1: 修改模型数据 1.2: 刷新表格(刷新界面) 2: 刷新表格的方法 // 全局刷新(每一行都会重新刷新) - (void)reloadData; // 局部刷新(使用前提: 刷新前后, 模型数据的个数不变) - (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation; // 局部删除(使用前提: 模型数据减少的个

Objective - C学习笔记:控制器的管理

1. 如何创建一个控制器 1.1. 控制器常见的创建方式有以下几种 //1.1.1:通过storyboard创建 //1.1.2:直接创建 YHViewController *viewController = [[YHViewController alloc] init]; //1.1.3:指定xib文件来创建 YHViewController *viewController= [[YHViewController alloc] initWithNibName:@"YHViewControlle

Objective - C 学习笔记:消息机制的原理与使用

1.通知中心(NSNotificationCenter) 1.1.每一个应用程序都有一个通知中心(NSNotificationCenter*)实例,专门负责协助不同对象之间的消息通信 1.2.这就是观察者模式(Observer),任何一个对象都可以向通知中心发布通知(NSNotification*),描述自己在做什么.其他感兴趣的对象(Observer观察者)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知 2.通知(NSNotification) 2.1.一个完整的通知

Objective - C 学习笔记:程序启动的完整过程

1. main函数 2. UIApplicationMain * 创建UIApplication对象 * 创建UIApplication的delegate对象 3.1 delegate代理开始处理(监听)系统事件  (没有storyboard) * 程序启动完毕的时候, 就会调用代理的application:didFinishLaunchingWithOptions:方法 * 在application:didFinishLaunchingWithOptions:中创建UIWindow * 创建和

Objective - C 学习笔记:监听文本框TextField的文字改变

* 一个文本输入框的文字发生改变时,文本输入框会发出一个UITextFieldTextDidChangeNotification通知 * 因此通过监听通知来监听文本输入框的文字改变 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:textField]; // textField