iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Objective-C中NSNumber与NSDictionary的用法简介
  • 781
分享到

Objective-C中NSNumber与NSDictionary的用法简介

Objective-C 2022-05-17 15:05:14 781人浏览 薄情痞子
摘要

NSNumber的常用方法 在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象

NSNumber的常用方法

在Objective-c中有int的数据类型,那为什么还要使用数字对象NSNumber?这是因为很多类(如NSArray)都要求使用对象,而int不是对象。 NSNumber就是数字对象我们可以使用NSNumber对象来创建和初始化不同类型的数字对象。 NSNumber    + (NSNumber *)numberWithInt:(int)value;    + (NSNumber *)numberWithDouble:(double)value;    - (int)intValue;    - (double)doubleValue;    .....................(对于每个基本类型,类方法都为这它分配了一个NSNumber对象,并将其设置为指定的值,这些方法都是以numberWith开始的,之后是类型,如numberWithFloat,numberWithLong,numberWithInteger.....) 包装后取出来的方法如下: 下面就拿int做个demo:

void number() {      // 将int类型的10 包装成 一个NSNumber对象      NSNumber *number = [NSNumber numberWithInt:10];      NSLog(@"number=%@", number);            NSMutableArray *array = [NSMutableArray array];      // 添加数值到数组中      [array addObject:number];            // 取出来还是一个NSNumber对象,不支持自动解包(也就是不会自动转化为int类型)      NSNumber *number1 = [array lastObject];            // 将NSNumber转化成int类型      int num = [number1 intValue];      NSLog(@"num=%i", num);  } 

NSDictionary一些常用用法

NSArray * skyAArrays = [NSArray arrayWithObjects:@"A天空1号",@"A天空2号",@"A天空3号",nil];     NSArray * skyBArrays = [NSArray arrayWithObjects:@"B天空1号",@"B天空2号",@"B天空3号",nil];     NSArray * skyCArrays = [NSArray arrayWithObjects:@"C天空1号",@"C天空2号",@"C天空3号",nil];         // NSArray * skyArray = [NSArray arrayWithObjects:skyAArrays,skyBArrays,skyCArrays, nil];        //字典中所有的key     NSArray * keys = [NSArray arrayWithObjects:@"name",@"sex",@"age",nil];    //字典中所有跟key对应的value     NSArray * values = [NSArray arrayWithObjects:@"liuhui",@"男",[NSNumbernumberWithInt:36],nil];    //创建字典对象方法1     NSDictionary * myDic = [[NSDictionary alloc]initWithObjects:values forKeys:keys];     NSLog(@"my dic = %@",myDic);    // 创建字典对象方法2         NSDictionary * yourDic = [[NSDictionary alloc] initWithObjectsAndKeys:skyAArrays,@"A",skyBArrays,@"B",skyCArrays,@"C",nil];     NSLog(@"your dic = %@",yourDic);          NSLog(@"%@",[yourDic objectForKey:@"A"]);     // - (NSArray *)allKeys; 返回的是 NSArray类型,方便用 objectAtIndex取出一个个key     NSLog(@"%@",[yourDic allKeys]);     NSLog(@"%@",[yourDic allValues]);        //添加数据(setObject 一般没有一种key才添加,有同名的key而用这种方法,会覆盖掉),注意:id key  是成对出现的      [mutableDictionary setObject:@"Good lucky"forKey:@"why"];      [mutableDictionary setObject:@"bye bye" forKey:@"how"]; 

   //删除指定键值的数据      [mutableDictionary removeObjectForKey:..];     //删除所有数据      [mutableDictionary removeAllObjects]; 

    //字典的普通遍历(无序)     for (int i =0; i < [yourDic count]; i++) {             NSLog(@"key = value <====> %@ = %@",[[yourDic allKeys] objectAtIndex:i],[yourDic objectForKey:[[yourDic allKeys]objectAtIndex:i]]);     }         // 字典的快速遍历 取出来的obj一定是key     for (id obj in yourDic) {            NSLog(@"%@",obj);         id value = [yourDic objectForKey:obj];           NSLog(@"%@",value);     }

--结束END--

本文标题: Objective-C中NSNumber与NSDictionary的用法简介

本文链接: https://www.lsjlt.com/news/30120.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • GoLangsync.Pool简介与用法
    目录使用场景使用方法声明对象池Get & Put性能测试使用场景 一句话总结:保存和复用临时对象,减少内存分配,降低GC压力 sync.Pool是可伸缩的,也是并发安全的,其...
    99+
    2023-01-02
    GoLang sync.Pool GoLang sync.Pool底层原理
  • Java Selenide 简介与用法
    目录Selenide 介绍什么是selenium官方快速入门元素定位元素操作浏览器操作断言常用配置Selenide 和 Webdriver 对比Selenide 介绍 Seleni...
    99+
    2024-04-02
  • C语言中.与->的用法介绍
    目录(一)基础(二)例子(三)总结(一)基础 结构体用点,结构体指针用箭头。 a->b 的含义是 (*a).b 。  现代的标...
    99+
    2023-05-20
    C语言中.与->的区别 C语言->用法
  • C++11中的Array的用法与vector用法介绍
    本篇内容主要讲解“C++11中的Array的用法与vector用法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++11中的Array的用法与vector用法介绍”吧!Array-对于Ar...
    99+
    2023-06-15
  • Objective-C中的@Synchronized关键字怎么使用
    这篇文章主要介绍“Objective-C中的@Synchronized关键字怎么使用”,在日常操作中,相信很多人在Objective-C中的@Synchronized关键字怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-07-05
  • C#线程池ThreadPool用法简介
    目录一、ThreadPool概述线程池使用起来很简单,但它有一些限制使用线程池线程的操作的情况包括二、方法三、设置和获取线程数方法四、将方法排入队列以便执行:QueueUserWor...
    99+
    2024-04-02
  • PyTorch中torch.utils.data.DataLoader简单介绍与使用方法
    目录一、torch.utils.data.DataLoader 简介二、实例参考链接总结一、torch.utils.data.DataLoader 简介 作用:torch.utils...
    99+
    2024-04-02
  • C++中的boost::function库简介
    boost::function Boost.Function库用来提供一个对象化的函数指针,通过它可以很容易的将一个函数封装为仿函数。 boost::function库可以支持自由函...
    99+
    2024-04-02
  • C++中的atoi 函数简介
    目录一.atoi 函数二.atoi 函数函数实战 一.atoi 函数 在 stdlib.h 中 atoi 函数,可用于将 char 字符串转为 int 整数类型, 语法如下: ...
    99+
    2024-04-02
  • C# 枚举的使用简介
    目录为什么使用枚举?枚举有哪些用法?1、简单枚举2、标志枚举3、枚举使用的一些建议枚举这个名词大家都听过,很多小伙伴也使用过, 那么枚举在开发中能做什么,使用它后能给程序代码带来什么...
    99+
    2024-04-02
  • jQuery中bind的用法简单介绍
    jQuery中的bind()方法用于将一个处理函数绑定到指定的元素上,该处理函数将在特定事件触发时被调用。bind()方法的基本语法如下:```javascript$(selector).bind(event, data, handle...
    99+
    2023-08-09
    jQuery
  • Java中StringTokenizer的用法简介汇总
    目录StringTokenizer的用法StringTokenizer 构造方法:StringTokenizer 常用方法:补充:下面在介绍下StringTokenizer的使用下文...
    99+
    2024-04-02
  • ASP.NET中的Razor语法简介
    目录一、Razor 语法1、 Razor C# 语法规则2、Razor的作用域3、Razor和Html混合编写4、变量5、数据类型6、转换数据类型(string类型才能转)7、循环8...
    99+
    2024-04-02
  • Golang简介与基本语法的学习
    目录一、什么是Golang?二、安装Golang三、编写Hello World程序四、基本语法4.1 变量4.2 数组和切片4.3 控制流五、并发编程一、什么是Golang? Gol...
    99+
    2023-05-16
    Golang简介 Golang基本语法
  • C++中const的简单用法
    C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应...
    99+
    2023-06-03
  • Redis中的BloomFilter简介及使用方法
    本篇内容主要讲解“Redis中的BloomFilter简介及使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis中的BloomFilter简介及使用...
    99+
    2024-04-02
  • vue3中hooks的简介及用法教程
    目录一、 什么是hooks二、hooks的用法补充:vue3中Hooks用法一,什么是Hooks? 二,Mixin和Hooks区别大家好,今天这篇文章是介绍一下vue3中的...
    99+
    2023-01-31
    vue3 hooks vue3 hooks用法
  • C语言中qsort函数的介绍与用法实例
    目录一.qsort函数是什么 二.使用qsort排序-以升序为例1.整形数组排序2.字符数组排序3.字符指针数组排序4.结构体数组排序5.浮点型数组排序三.使用冒泡排序思想...
    99+
    2024-04-02
  • C#中深拷贝和浅拷贝的介绍与用法
    一、什么是深拷贝和浅拷贝 对于所有面向对象的语言,复制永远是一个容易引发讨论的题目,C#中也不例外。此类问题在面试中极其容易被问到,我们应该在了解浅拷贝和深拷贝基本概念的基础上,从设...
    99+
    2024-04-02
  • C++中map和set的简介及使用详解
    目录关联式容器键值对setset的介绍set的使用multisetmapmap的介绍map的使用map构造map的插入map的[ ]运算符重载multiset关联式容器 关联式容器包...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作