黑马程序员——Foundation框架

黑马程序员——OC基础---Foundation框架(一)

------- android培训ios培训、期待与您交流! ----------

内容概括:

1、foundation中常用的结构体。

* NSRange

* NSPoint \ CGpoint

* NSSize \ CGSize

* NSRect \ CGRect

2、Foundation中常用的类。

3、OC集合NSArrayNSSet的使用。

一、结构体的使用。

1、NSRange(求范围和长度的结构体)

NSString *str = @” i love OC”;
NSRange  range = [ str rangeofstring :@”ve o”];
NSLog(@”loc = %d,length = %d”,range.location,range.length);

注意:(查找ve ostr中的范围和长度,如果找不到,length = 0location = NSnotfound 。)

2、NSPoint \ CGpoint(表示坐标的数组。)

例:

CGPoint  p1 = NSMakePoint(10,10);
NSPoint  p2 = CGPointMake(10,10);  // 最常用的坐标表示法。

3、NSPoint \ CGpoint(表示UI元素的长与宽。)

例:

NSSize s1 = CGSizeMake(100,50); // 表示宽为50,高为100.
NSSize s1 = NSMakeSize(100,50);

4、NSRect \ CGRect(表示UI元素的坐标及面积。)

例:

1> CGRect r1 = CGRectMake (0, 0, 50, 100);  // (UI元素坐标(0,0)长100,宽 50.)

2> CGRect r2 = {{0,0} {100,90}};

3> CGRect r3 = {p1 s2};

注意: CGPointzero == CGPointMake0,0)原点。

二、Foundation中常用的类

1、NSString (不可变字符串)

NSString *s = @”123”;

// @”112”拼到@”123”后面去创建一个新字符串。

NSString *s1 = [s  stringByAppendingstring:@”112”];

// c字符串转为OC字符串。

NSString *s = [[ NSString  alloc] intWithUTF8string:”231”];

// c字符串转为OC字符串

Char *s = [s  UTF8string];

2、可变字符串。

NSMutablestring *s = [NSMutibleString stringWithFormal:@”age is 10”];

// 拼接内容到s1的后面去。

[s1 appendstring: @”11 12”];

1> 从第四位删去两个字符(删去is

[ s1 deletecharacterInRange: NSMakeRange(4, 2)];

2> 找到字符串的位置后再删除

NSRange  range = [ s deletecharacterInRange: Range];

三、OC集合的使用

1、NSArray(只能存放OC对象,不能存放其他类型)

// 创建一个NSArray对象,nil是数组结束的标志。
NSArray *array = [NSArry arraywithObject:@”rose”,@”jake”,nil];
NALog(@”%@”,array[1]);    // 输出Jake
NALog(@”%d”,array.count);   // 输出2 // 表示有两个元素。
// 快速创建一个NSArray对象
NSArray *array = @{@”jake”,@”tom”};
2、NSMutableAarray  (NSArray的子类)
NSMutableAarray *array = [NSMutableAarray arraywithobjects:
@”rose”,@”name”,nil];
// 增加一个元素
[array  addobject:[[Person  alloc] init]];
[array addobject:@”jake”];
// 删除元素
[array  removeallobjects];
// 删除指定对象
[ array  removeobjectAtindex: 2];   //  干掉Person

注意:错误写法

1>  [array  addobject: nil];  // 不存在

2>  NSMutableArray *array = @[@”jack”,@”jim”];

[array  addobject:@”jake”];  // 上一句返回的是NSArray类型,为不可变集合。

3、NSSet

NSSet *s = [NSSet  set];

NSSet *s1 = [ NSSet  setwithobject:@”jake”,@”jake2”,@”jim”];

// 随机拿出

NSString *str = [s1 anyobject];

NSMutableSet  (NSSet的子类)

NSMutableSet  *s = [NSMutableSet  set];

// 增加元素

[s  addobject:@”123”];

// 删除元素

[s  removeobject : (id) ];

 

4、集合遍历

1> c 语言遍历的方式。

2> 快速遍历

 For (id  obj  in  array)
{
NSLog (@”%@”,obj ) ;
Usinteger i = [array  indexofobject:obj ];
Return 0;
}

3> block遍历

[array enumeerateobjectsusingBlock:
^(id  obj,  NSInteger  idr,  BOOL *stop ;)
{
NSLog(@”%ld - %@”, idx, obj);
}

// 每遍历一个元素,就调用一次block

// 并且当前元素和索引位置当做参数传递给block

5、NSSetNSArray的对比

1> 共同点

都是集合,都能存放多个OC对象

只能存放OC对象,不能存放基本类型

本身不可变,都有一个可变的子类

2> 不同点

* NSSet存放内容无序,而NSArray是有序的。

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值