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相关推荐

  1. NSDictionary / NSMutableDictionary 及 NSArray / NSmutableArray (实例)

    NSDictionary 和 NSArray一样是不可变的对象.用来实现字典集合,在给定关键字(通常是一个NSString字符串)下存储一个数值(可以是任何类型的对象). NSDictionary使用 ...

  2. NSArray与NSString、NSData,NSDictionary与NSString、NSData 相互转化

    NSArray *array = @[ @1, @2, @3, @4, @5, @3 ];// 1. NSArray与NSData相互转化// NSArray to NSDataNSError *er ...

  3. IOS基础之NSString,NSMutableString,NSArray的基本使用

    IOS基础之NSString,NSMutableString,NSArray的基本使用 // // main.m // Day10-Foundation框架 // // Created by 鲁军 o ...

  4. 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词

    一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...

  5. NSArray,NSSet,NSDictionary总结 (转)

    NSArray,NSSet,NSDictionary总结 博客分类: iphone 三种集合类来收集cocoa对象(NSObject对象): NSArray 用于对象有序集合(相当于是数组) NSSe ...

  6. IOS 总结:NSArray,NSSet,NSDictionary

    用法总结:NSArray,NSSet,NSDictionary Foundation framework中用于收集cocoa对象(NSObject对象)的三种集合分别是: NSArray 用于对象有序 ...

  7. Objective-C:MRC(引用计数器)在OC内部的可变对象是适用的,不可变对象是不适用的(例如 NSString、NSArray等)...

    引用计数和字符串 内存中的常量字符串的空间分配与其他对象不同,他们没有引用计数机制 凡是自定义的对象都有引用计数机制: OC内部中对象分为可变对象(NSMutableString等)和不可变对象(NS ...

  8. c json保存整型数组,您如何存储“ int”? NSMutableArray *或NSMutableDictionary *中的值?整数形式的JSON数据的长期问题。...

    How do you store "int" values in an NSMutableArray or NSMutableDictionary? Chronic problem ...

  9. NSArray、NSMutableArray和NSMutableDictionary的用法

    转自:http://www.cnblogs.com/wangpei/admin/EditPosts.aspx?opt=1 NSArray是静态的数组,就是它所指向的内容是不可改变的,它指向一段内存区域 ...

最新文章

  1. mysql %u_mysql之DATE_FORMAT
  2. stackover flow载入巨慢
  3. OpenCV 获取并修改图中的像素点
  4. PyTorch cat() 函数实现维度拼接
  5. 洛谷——P2094 运输
  6. java查看sql视图_SQL视图与MS Access查询
  7. 966计算机综合,中职计算机基础 (966)(10页)-原创力文档
  8. 《Hadoop权威指南》第三章 Hadoop分布式文件系统
  9. Maven最全教程,还有哪里对maven不解的地方看过来!
  10. 神经网络 卷积神经网络_如何愚弄神经网络?
  11. JVM(一)史上最佳入门指南
  12. 《Excel 职场手册:260招菜鸟变达人》一第 26 招 对齐两个字的名字
  13. Ninth scrum meeting - 2015/11/3
  14. solidworks中皮带同步轮配合如何做?几张图教会你
  15. 小百的java安装包——————百度网盘
  16. OpenWrt路由器通过Aria2开启迅雷离线下载[图文教程]
  17. flashfxp中文破解版|flashfxp v5.4绿色破解版下载免注册码(强大的fxp/ftp客户端)
  18. 【源码】update-notifier 检测 npm 包是否更新~
  19. 【ospf的网络类型】BMA、P2P、P2MP、NBMA、Vlink
  20. 0005 键盘打字如何练成像黑客一样的飞速

热门文章

  1. STL之优先级队列priority_queue
  2. http://www.linux.gov.cn
  3. 台大李宏毅教授的神经网络教程
  4. 算法导论之图的最小生成树
  5. set class_ x set fid_ x
  6. python互相转换组合_Python基本类型的连接组合和互相转换方式(13种)
  7. 元素垂直水平居中布局
  8. 取 1~100之间的随机整数
  9. java的知识点13——多态、对象的转型(casting)、final关键字、抽象方法和抽象类、接口的作用、如何定义和使用接口?、接口的多继承、面向接口编程
  10. Python 图像处理 - 用PIL库提取图片中的颜色并展示为色谱实例演示,RGB颜色排序方法