IOS 中 NSArray
今天在做 cordova 关于处理未读条数的插件时,需要在js中传入 int 型。 但是发现所有插件 里面的参数信息都是封装在NSArry对象里面。 因此又突然想直接在NSArry获取信息的想法。 但是发现直接获取不可取的。因此查询了相关资料又重新温习了一遍其知识。 (当然既然直接无法获取整形,那么我就变向通过 NSString 和 int 之间的互转来进行处理---[str intValue])
NSArray
用于对象有序集合(相当于是数组)
===========================================================================
NSArray是不可变的,而且只能储存Object-c对象。另外,数组的最后一个元素一定是nil,表示结束。
注:这些集合类只能收集cocoa对象(NSOjbect对象),如果想保存一些原始的C数据(例如,int, float, double, BOOL等),则需要将这些原始的C数据封装成NSNumber类型的,NSNumber对象是cocoa对象,可以被保存在集合类中。
数组常见的用法首先是创建数组,然后对数组进行操作。
对数组进行的操作可以分为:增(插入),删,改,查 , 取,遍历,排序,比较,
对于NSArray来说,因为本身是不可变的,所以对NSArray的操作没有增和删。
NSArray *array = [ NSArray alloc] init ];
1.取
- (id)objectAtIndex : (NSInteger *)aValue 得到所给下标的数组中的值
- (NSInteger *)indexOfObject: (id)object 得到所给对象在数组中的下标
- lastObject; 得到数组中最后一个值
例如:
Student *stu1=[Student studentWithName:@"张三" andHobby:@"hk" andAge:21];
Student *stu2=[Student studentWithName:@"李四" andHobby:@"hjik" andAge:25];
Student *stu3=[Student studentWithName:@"王五" andHobby:@"fds" andAge:23];
NSArray *stuArray=[[NSArray alloc]initWithObjects:stu1,stu2,stu3, nil];//创建数组对象并 初始化内容
int c=[stuArray count];//返回是数组元素个数
for (int i=0; i
{
Student *st=[stuArray objectAtIndex:i];//获取数组相关下表对应的元素
[st sayHi];
}
NSLog(@"%d",[stuArray indexOfObject:stu3]);//indexOfObject是得到所给对象在数组中的下标
结果是:
我叫张三,今年21,我的爱好是hk
我叫李四,今年25,我的爱好是hjik
我叫王五,今年23,我的爱好是fds
2.查
- containsObject :(id)object 查询是否包含所给对象
3.遍历数组
三种方法:1.in 2.遍历器 3.for
另外,NSArray还有一个非常强大的方法 -makeObjectsPerformSelector () ;这个函数可以将一个操作作用在数组中的每个元素上。例如:
[array makeObjectsPerformSelector:@selector(get:)] ;
IOS 中 NSArray的更多相关文章
- 从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray)
从deque到std::stack,std::queue,再到iOS 中NSArray(CFArray) deque deque双端队列,分段连续空间数据结构,由中控的map(与其说map,不如说是数 ...
- iOS中--NSArray调用方法详解 (李洪强)
下面的例子以 NSArray *array = [NSArray arrayWithObjects:@"wendy",@"andy",@"to ...
- ios 中NSArray
// #import <Foundation/Foundation.h> #import "Animal.h" int main(int argc, const cha ...
- iOS中数据库应用基础
iOS 数据库入门 一.数据库简介 1.什么是数据库? 数据库(Database) 是按照数据结构来组织,存储和管理数据的仓库 数据库可以分为2大种类 关系型数据库(主流) PC端 Oracle My ...
- iOS 中的 HotFix 方案总结详解
相信HotFix大家应该都很熟悉了,今天主要对于最近调研的一些方案做一些总结.iOS中的HotFix方案大致可以分为四种: WaxPatch(Alibaba) Dynamic Framework(Ap ...
- iOS中获取各种文件的目录路径的方法
我们的app在手机中存放的路径是:/var/mobile/Applications/4434-4453A-B453-4ADF535345ADAF344 后面的目录4434-4453A-B453-4AD ...
- iOS中的数据持久化方式
iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data. 1.属性列表 涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults ...
- iOS:iOS中的多控制器管理
iOS中的控制器有三种创建方式: 1.通过storyboard创建 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@" ...
- iOS中几种常用的数据存储方式
自己稍微总结了一下下,方便大家查看 1.write直接写入文件的方法 永久保存在磁盘中,可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据 ...
随机推荐
- 解析excel表格为DataSet
using System;using System.Collections.Generic;using System.Data;using System.Data.OleDb;using System ...
- 简单的css居中问题(日常记录)
1.今天遇到了一个奇怪的问题:因为网页要适配大小分辨屏幕,需要把一张图片放到div中,我的初始思路是把图放在div中绝对对位给top50%left50%,但是不行,因为当网页调窄时图片就因为显得太大了 ...
- css 描述css reset的作用和用途。
描述css reset的作用和用途. 作用 : 因为浏览器的品种很多,每个浏览器的默认样式也是不同的.通过重新定义标签样式.“覆盖”浏览器的CSS默认属性. 有最简单的*{margin:0 ; pa ...
- Loadrunner基础:Loadrunner Controller基本概念和使用
Loadrnner Controller 介绍 当Vuser脚本开发完成以后,可以使用Controller将这个执行脚本的用户从单用户转化为多用户,从而模拟大量用户的操作,形成负载(多用户单循环,多用 ...
- (03)odoo模型/记录集/公用操作
-----------------更新时间11:17 2016-09-18 星期日11:00 2016-03-13 星期日09:10 2016-03-03 星期四11:46 2016-02-25 星期 ...
- Mybatis 学习-1
本次MyBatis基础实例教程主要讲述MyBatis在项目中的配置方法,实体对象的关系映射.关联关系,以及如何实现一个BaseDao的功能 实例数据库的表结构 CREATE TABLE `blog_u ...
- Xcode 8 打包上线 iTunes Connect 找不到构建版本
Xcode 8 打包上线 iTunes Connect 找不到构建版本 最近苹果推出新的mac操作系统(macOS Sierra 10.12),大家可能都已经升级了,作为一个开发者,小编肯定是第一时间 ...
- 数据库迁移 Migrator.Net
转载: [强烈推荐]数据库迁移利器:Migrator.Net Migrator.NET:https://github.com/migratordotnet/Migrator.NET fluentmig ...
- Windows上模拟Linux环境
有两种方法,一直是 MinGW http://jingyan.baidu.com/article/8cdccae985cf7c315413cd35.html 另外可以用 cygwin http://j ...
- python——使用readline库实现tab自动补全
Input History readline tracks the input history automatically. There are two different sets of funct ...