黑马程序员-IOS学习笔记(十二)Foundation框架

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-------

1、foundation中常用的结构体。

* NSRange

* NSPoint \ CGpoint

* NSSize \ CGSize

* NSRect \ CGRect

2、Foundation中常用的类。

3、OC集合NSArray和NSSet的使用。

一、结构体的使用。

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

[objc] view plaincopyprint?

1.  NSString *str = @” i love OC”;  

2.  NSRange  range = [ str rangeofstring :@”ve o”];  

3.  NSLog(@”loc = %d,length = %d”,range.location,range.length);  



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

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

例:

[objc] view plaincopyprint?

1.  CGPoint  p1 = NSMakePoint(10,10);  

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

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

例:

[objc] view plaincopyprint?

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

2.  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 == CGPointMake(0,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对象,不能存放其他类型)

[objc] view plaincopyprint?

1.  // 创建一个NSArray对象,nil是数组结束的标志。  

[objc] view plaincopyprint?

1.  NSArray *array = [NSArry arraywithObject:@”rose”,@”jake”,nil];  

2.  NALog(@”%@”,array[1]);    // 输出Jake  

3.  NALog(@”%d”,array.count);   // 输出2 // 表示有两个元素。  

[objc] view plaincopyprint?

1.  // 快速创建一个NSArray对象  

2.  NSArray *array = @{@”jake”,@”tom”};  

3.  2、NSMutableAarray  (NSArray的子类)  

4.  NSMutableAarray *array = [NSMutableAarray arraywithobjects:  

5.  @”rose”,@”name”,nil];  

[objc] view plaincopyprint?

1.  // 增加一个元素  

2.  [array  addobject:[[Person  alloc] init]];  

3.  [array addobject:@”jake”];  

4.  // 删除元素  

5.  [array  removeallobjects];  

6.  // 删除指定对象  

7.  [ 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> 快速遍历

[objc] view plaincopyprint?

1.   For (id  obj  in  array)  

2.  {  

3.  NSLog (@”%@”,obj ) ;  

4.  Usinteger i = [array  indexofobject:obj ];  

5.  Return 0;  

6.  }  

3> block遍历

[objc] view plaincopyprint?

1.  [array enumeerateobjectsusingBlock:  

2.  ^(id  obj,  NSInteger  idr,  BOOLBOOL *stop ;)  

3.  {  

4.  NSLog(@”%ld - %@”, idx, obj);  

5.  }  

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

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

5、NSSet和NSArray的对比

1> 共同点

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

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

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

2> 不同点

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值