OC之【NSNumber的使用】

#import <Foundation/Foundation.h>

void number() {

// 将int类型的10 包装成 一个NSNumber对象

NSNumber *number = [NSNumbernumberWithInt:10];

NSLog(@"number=%@", number);

NSMutableArray *array = [NSMutableArrayarray];

//添加数值到数组中

[arrayaddObject:number];

//取出来还是一个NSNumber对象,不支持自动解包(也就是不会自动转化为int类型)

NSNumber *number1 = [array lastObject];

// 将NSNumber转化成int类型

int num = [number1 intValue];

NSLog(@"num=%i", num);

}

int main(int argc,const char * argv[])

{

@autoreleasepool {

number();

}

return 0;

}

时间: 2024-11-05 04:56:13

OC之【NSNumber的使用】的相关文章

OC -- 迭代器/NSNumber/NSValue/NSRange/NSSet/NSDate 及相互转换.(杂)

//一: 迭代器 // 数组 NSArray *arr= @[@"1",@"2",@"3",@"4",@"5"]; NSEnumerator *enumerator = [arr objectEnumerator]; NSString *str = nil; while (str = [enumerator nextObject]) { NSLog(@"%@",str); } // 字典

OC学习笔记之Foundation框架NSNumber、NSValue和NSDate(转)

一.NSNumber OC数组类NSArray,它只能存放 OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int.float,结构体存放的OC数组中,怎么办?这里的 NSNumber就有用了,它能够把基本数据类型包装成OC对象. // 将整形包装成OC对象 NSNumber *num1 = [NSNumber numberWithInt:120]; // 将浮点形包装成OC对象 NSNumber *num2 = [NSNumber numberWithDouble:

黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.NSNumber 前几篇笔记中,小桥复习了Foundatio框架中的几个类,这三个是OC学习的尾声了. 小桥已经复习过OC数组类NSArray,也说过它只能存放OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int.float,结构体存放的OC数组中,怎么办?这里的NSNumber就有用了,它能够把基本数据类型包装成OC对象.

OC基础数据类型之NSNumber

假如你能够很轻松的理解NSString的定义和用法,那么NSNumber的话联想一下你就大概能够明白其中的道理和关系了. 首先你必须知道C语言的基础数据类型在OC中不是所有地方都支持使用,那么碰到例如copy等不支持使用的情况,我们就必须用OC的基本数据类型了. 那么OC的基本数据类型是什么?其实它就是将C语言的数据类型全部打包封装到了一个类里面.这个类里面各种各样的C语言基础数据类型都有,例如int,float,double等 当然OC里NSNumber的功能相对要强大很多,它不仅仅包含了C的

OC蜕变第八天

七 字符串与基本数据类型转换 获取字符串的每个字符/字符串和其他数据类型转换 八 NSMutableString 基本概念/常用方法 九 NSArray NSArray基本概念/创建方式/注意事项/常用方法简写形式/遍历/排序/文件读写/NSArray 与字符串 十 NSMutableArray 概念/基本用法/错误用法 十一 NSDictionary 基本概念/创建/遍历/文件操作 十二 NSMutableArray NSMutableDictionary 基本概念/常用方法/简写/NSDic

ios面试基础

1.#import和#include的区别 @class? @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文 件中还是需要使用#import 而#import比起#include的好处就是不会引起交叉编译 2. readwrite,readonly,assign,retain,copy,nonatomic 属性的作用 @property是 一个属性访问声明,扩号内支持以下几个属性: 1,getter=getName,setter=setName,设置setter与 get

iOS知识点-总结

1.#import和#include的区别 @class? @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文 件中还是需要使用#import 而#import比起#include的好处就是不会引起交叉编译 2. readwrite,readonly,assign,retain,copy,nonatomic 属性的作用 @property是 一个属性访问声明,扩号内支持以下几个属性: 1,getter=getName,setter=setName,设置setter与 get

IOS 常规面试题目整理

1.Object-C有多继承吗?没有的话用什么代替? cocoa 中所有的类都是NSObject 的子类,多继承在这里是用protocol 委托代理实现的,不需要考虑繁琐的多继承 ,虚基类的概念.ood的多态特性 在 obj-c 中通过委托来实现. 2.Object-C有私有方法吗?私有变量呢? objective-c– 类里面的方法只有两种, 静态方法和实例方法. 这似乎就不是完整的面向对象了,按照OO的原则就是一个对象只暴露有用的东西. 如果没有了私有方法的话, 对于一些小范围的代码重用就不

iOS面试题合集(77道)

1.#import和#include的区别 @class? @class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文 件中还是需要使用#import 而#import比起#include的好处就是不会引起交叉编译 2. readwrite,readonly,assign,retain,copy,nonatomic 属性的作用 @property是 一个属性访问声明,扩号内支持以下几个属性: 1,getter=getName,setter=setName,设置setter与 get

【iOS Programming: The Big Nerd Ranch Guide】【笔记】1

1.在类中的init的方法里,应该使用_value而不用self.value的形式访问变量,因为初始化正在进行中,对象还没有完成构造,所以不能确定实例变量都能有效的赋值 2.首先特定的init初始化方法需要调用父类的特定init方法,然后其他的init方法都调用这个特定的init方法 如果子类声明的特定init方法和父类的特定init方法不一样,就需要子类覆写(override)父类的特定init方法并调用子类已有的特定init方法 3.在类方法里应该使用self来代替类名,使得他的子类也可以同