标准库中的几个有用的函数

OC学习相关第二发之Foundation框架相关——常用数据类型

(好几天没跟大家见了,这几天忙着总结和学习新的知识呢)
一NSRange

  • NSRange 结构体用来表示相关事物的范围。比字符串里字符的位置信息或者数组里数组元素的范围.
  • 其中,location表示范围的位置信息,从0开始计数;length表示范围所含元素的个数。如字符串@”Hello,QingYun”中,单词“Qing”,可以用location为6,length为4来表示。
  • 创建时候用NSMakeRange

一NSPoint

  • 代表笛卡尔平面的坐标点(x,y)
  • 创建时候用NSMakePoint

一NSSize

  • 用来存储长度和宽度
  • 创建时候用NSMakeSize

一NSRect

  • 由点和大小符合而成的矩形数据类型
  • 创建时候用NSMakeRect

一NSSting 和 NSMutableSting(字符串)
  1. NSSting


    • 在OC中字符串是一个类
    • 通过(BOOL) isEqualToSting:(NSSting *) aSting;
    • 字符串比较第二种方法
    • `-( NSComparisonResult ) compare: (NSString *) string;其返回 值NSOrderedAscending=-1,NSOrderedSame,NSOrderedDescending
    • 判断字符串是否以另一个字符串开头
- (BOOL) hasPrefix: (NSString *) aString;

*判断字符串是否以另一个字符
- (BOOL) hasSuffix: (NSString *) aString;

- (NSRange) rangeOfString: (NSString *) aString;`
2 . NSMutableSting


  • 创建指定大小的NSMutableString + (id) stringWithCapacity: (unsigned) capacity; //字符串大小并不仅限于所提供的值,这个指定的容量是个最优值
  • 在字符串后面追加字符串- (void) appendString: (NSString *) aString;
  • 在字符串后面以格式符的方式追加字符串- (void) appendFormat: (NSString *) format ,...;
  • 插入字符串 [muStr insertString:@"zhao" atIndex:3];
  • 替换指定区域的字符串 [muStr replaceCharactersInRange:range withString:@"wangwu"]
  • 删除指定区域的字符串 [muStr deleteCharactersInRange:range];

一NSArray 和 NSMutableArray(集合相关)

NSArray


  • 与C语言相比,Foundation的数组优点
    1. 不需要检查索引是否有效;
    2. 长度不需要硬编码
  • NSArray 是一个Cocoa类,用来存储对象的有序列表
  • 只能存储Objective-C的对象,不能存储C语言中的基本数据类型,如int 、float 、enum、struct不能在NSArray中存储nil
  • 创建数组:通过类方法arrayWithObjects: 参数是以逗号分隔的对象列表,列表的结尾添加nil代表列表结束。[NSArray arrayWithObjects:@"zhangsan",@"lisi",@"wangwu",nil];
  • 计算数组的个数:NSUInteger count1 = [arr count];
  • 遍历数组方法 :[array objectAtIndex:i];或者是 arr[i]
  • 查找数组某个元素所在的下标 :[arr indexOfObject:@"lisi"];
  • 查找第一个元素:[array firstObject]; 查找最后一个元素:[array lastObject];
  • 数组新命名法:NSArray *newArr = @[@"zhaoliu",@"tianqi"];
  • 以某个特定的字符截取作为数组:[strPersons componentsSeparatedByString:@":"];

NSMutableArray


  • 创建新的可变数组(NSMutableArray)+ (id) arrayWithCapacity: (unsigned) numItems;
  • 在数组末尾添加新的对象- (void) addObject: (id) anObject;
  • 删除数组指定索引位置的对象- (void) removeObjectAtIndex: (unsigned) index;
  • 用枚举对象遍历数组 :
NSEnumerator *indicator = [mArray objectEnumerator];   
   NSString *name;    
   while (name = [indicator nextObject]) {
       NSLog(@"NAME:%@",name);
   }
  • 用for in快速遍历
for (NSString *name1 in arr)  
    {  
        NSLog(@"%@",name1);   
    }

一NSDiction 和 NSMutableDictionary(集合相关)

NSDiction


  • NSDictionary(字典)就是关键字及其定义的集合,又叫做散列表或者关联数组。用的是键查询优化存储方式,查找速度快。
  • 根据key值从字典获取对象的方法 [myDic objectForKey:@”num2”];
  • 创建NSDictionary对象的方法。NSDictionary *myDic = [NSDictionary dictionaryWithObjectsAndKeys:@"zhangsan",@"num1",@"lisi",@"num2",nil];或者用NSDictionary *myDic1 = @{@"num1":@"wangwu",@"num2":@"tianqi"};

NSMutableDictionary


  • 创建NSMutableDictionary对象NSMutableDictionary *mDic = [NSMutableDictionary dictionaryWithCapacity:3];
  • 新语法:mDic[@”num7”] = @”xiaomengli”;
  • 向可变字典添加对象内容[mDic setObject:@”mengli” forKey:@”num7”];
  • 从可变字典对象删除内容[myDic2 removeObjectForKey:@”num2”];
  • 由于在Cocoa中,许多类实际上是一群隐藏在通用接口之下的与实现相关的类(我们称为类簇),如创建NSString对象的时候,实际上获得的可能是NSLiteralString 、NSCFString 、NSSimpleCString、NSBallOfString或者其它未写入文档的与实现相关的对象。所以我们不要试图去创建NSString NSArray NSDictionary类的子类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值