关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary
NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎么学习它们呢?
我觉得学习这些经常使用的类,使用类比的方法即可了,仅仅要学会一个类,就能类比另外两个类了..
比方,NSString和NSMutableString的可变与不可变,主要区分的标准是,它们本身是不是能够变,可变的一般都能增,删,改,而不可变的方法主要是创建,查看,得到元素个数或者长度等等;
命名规则
NSString
第一,创建 initWithFormat或者stringWithFormat
第二,求字符串长度 length
第三,推断字符串是否相等 isEqualToString
第四,字符串替换 stringByReplacingOccurrenceOfString:withString:
第五,字符串比較 compare 返回值枚举
第六,字符串拼接 stringByAppendingFormat
第七,求字符 substringFromlndex
第八,查询字符串 rangeOfString
第九,前缀,后缀 hasPrefix hasSuffix
第十,字母大写 uppercaseString
NSMutableString 可变字符串
第一,创建 使用父类继承的方法或者使用自己的创建方法 initWithCapacity
第二, 增 insertString:atlndex: /
第三, 删 deleteCharacterslnRange:
第四, 改 replaceCharacterslnRange:
NSArray 容器 仅仅能存储对象(继承自NSObject的类) 不可变的数组 不能加入 不能删除,不能改动,
第一,创建 initWithObjects: arrayWithObjects:
第二,看元素 ,objectAtIndex:
第三,数组个数, [array count]
第四,排序 [sortedArrayUsingSelector: ] 比較字符串直接用compare,假设比較person,就须要重写比較方法
[sortArrayUsingComparator: ]block作为參数排序,优先使用这个
NSMutableArray 可变字符串
第一,增(加入), addObject
第二,删 removeObjectAtIndex: removeObject removeAllObjects
第三,插入 insertObject: atIndex:
第四,替换 replaceObjectAtlndex: withObject:
第五,交换 exchangeObjectAtIndex:(目的串) withObjectAtIndex:(来源串)
NSDictionary 不可变字典
第一,创建 + dictionaryWithObject:forKey: – initWithObjectsAndKeys:
第二,看键值对个数 - count
第三,通过键获取值 -objectForKey;
NSMutableDictionary 可变字典
第一,创建 initWithCapacity
第二,加入(增) setObject: forKey:
第三,删 removeObjectForKey:
第四,改 setObject: forKey;
collection 集合(容器)
包含 Array(有序容器) Dictionary(无序容器) set(集合)
NSValue , NSNumber 容器,转换作用
NSValue 转换结构体为对象
NSNumber 转换基本数据类型为对象
NSSet集合 无序并且不重 能够用来排除反复
另一个能够用来计算反复多少次的子类
使用 —s复数的方法 一般返回值是 用新建的数组存起来
#pragma mark -----------创建NSCountedSet 能记录元素的反复次数
NSCountedSet * countSet = [NSCountedSet setWithObjects:@"1",@"2",@"3",@"1",@"1",nil];
NSLog(@"countForObject = %ld",[countSet countForObject:@"1"]);
#pragma mark -----------高速枚举(遍历)
// for (<#type *object#> in <#collection#>) {
// <#statements#>
// }
//数组 上面object是元素 //字典 上面object是key
近期关于封装,也有一些新的认识,详细例如以下:
就是把main函数里面的代码封装到还有一个新的类.然后在main函数里面调用方法即可了
就像C语言的函数一样
.尽量用forin遍历,而不是循环.字典forin元素的是key,forin不能删除元素,改动元素,可是能够记录下来.在外面删除就好了
假设有两个或两个以上初始化方法,就用指定初始化方法,指定初始化方法,以參数多的那个为指定方法.
转载于:https://www.cnblogs.com/brucemengbm/p/6869419.html
关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary相关推荐
- NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)
NSDictionary 和 NSArray一样是不可变的对象.用来实现字典集合,在给定关键字(通常是一个NSString字符串)下存储一个数值(可以是任何类型的对象). NSDictionary使用 ...
- NSArray与NSString、NSData,NSDictionary与NSString、NSData 相互转化
NSArray *array = @[ @1, @2, @3, @4, @5, @3 ];// 1. NSArray与NSData相互转化// NSArray to NSDataNSError *er ...
- IOS基础之NSString,NSMutableString,NSArray的基本使用
IOS基础之NSString,NSMutableString,NSArray的基本使用 // // main.m // Day10-Foundation框架 // // Created by 鲁军 o ...
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...
- NSArray,NSSet,NSDictionary总结 (转)
NSArray,NSSet,NSDictionary总结 博客分类: iphone 三种集合类来收集cocoa对象(NSObject对象): NSArray 用于对象有序集合(相当于是数组) NSSe ...
- IOS 总结:NSArray,NSSet,NSDictionary
用法总结:NSArray,NSSet,NSDictionary Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序 ...
- Objective-C:MRC(引用计数器)在OC内部的可变对象是适用的,不可变对象是不适用的(例如 NSString、NSArray等)...
引用计数和字符串 内存中的常量字符串的空间分配与其他对象不同,他们没有引用计数机制 凡是自定义的对象都有引用计数机制: OC内部中对象分为可变对象(NSMutableString等)和不可变对象(NS ...
- c json保存整型数组,您如何存储“ int”? NSMutableArray *或NSMutableDictionary *中的值?整数形式的JSON数据的长期问题。...
How do you store "int" values in an NSMutableArray or NSMutableDictionary? Chronic problem ...
- NSArray、NSMutableArray和NSMutableDictionary的用法
转自:http://www.cnblogs.com/wangpei/admin/EditPosts.aspx?opt=1 NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域 ...
最新文章
- mysql %u_mysql之DATE_FORMAT
- stackover flow载入巨慢
- OpenCV 获取并修改图中的像素点
- PyTorch cat() 函数实现维度拼接
- 洛谷——P2094 运输
- java查看sql视图_SQL视图与MS Access查询
- 966计算机综合,中职计算机基础 (966)(10页)-原创力文档
- 《Hadoop权威指南》第三章 Hadoop分布式文件系统
- Maven最全教程,还有哪里对maven不解的地方看过来!
- 神经网络 卷积神经网络_如何愚弄神经网络?
- JVM(一)史上最佳入门指南
- 《Excel 职场手册:260招菜鸟变达人》一第 26 招 对齐两个字的名字
- Ninth scrum meeting - 2015/11/3
- solidworks中皮带同步轮配合如何做?几张图教会你
- 小百的java安装包——————百度网盘
- OpenWrt路由器通过Aria2开启迅雷离线下载[图文教程]
- flashfxp中文破解版|flashfxp v5.4绿色破解版下载免注册码(强大的fxp/ftp客户端)
- 【源码】update-notifier 检测 npm 包是否更新~
- 【ospf的网络类型】BMA、P2P、P2MP、NBMA、Vlink
- 0005 键盘打字如何练成像黑客一样的飞速
热门文章
- STL之优先级队列priority_queue
- http://www.linux.gov.cn
- 台大李宏毅教授的神经网络教程
- 算法导论之图的最小生成树
- set class_ x set fid_ x
- python互相转换组合_Python基本类型的连接组合和互相转换方式(13种)
- 元素垂直水平居中布局
- 取 1~100之间的随机整数
- java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程
- Python 图像处理 - 用PIL库提取图片中的颜色并展示为色谱实例演示,RGB颜色排序方法