黑马程序员 -- OC语言 Foundation

------- android培训、.Net培训、IOS培训碧空海的技术博客,期待与您交流!----------

第七讲 FOUNDATION

A.Foundation框架

1.Foundation框架包含了很多的数据类型:结构体、枚举、类。要想使用该框架必须包含主文件才可以#import <Foundation/Foundation.h>

2.Foundation框架中的结构体

1>NSRange结构体,参数有location(位置),length(长度)。

例如:

声明

Struct Date {

Int year;

Int month;

Int day;

}

赋值

Struct Date = {2015,02,10};或者{.month =02, .year = 2015, .day = 10};

NSRange举例;

NSRange r1 = {2, 4};//可读性差,不用

NSRange r1 = {.location = 2, .length = 4};//不用

字符串创建是:

NSString *str = @”I  love  oc”;

NSString range = [str   rangeOfString:@”love”];//计算love在字符串str中的开始位置和长度,并返回对应的位置和长度。如果找不到对应的字符串返回位置NSNotFound(-1,整数打印形式)和长度0.

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


3.CGPoint   NSSize    NSRect简介

CGPoint p1   = NSMakePoint(10, 10);

CGPoint p2   = CGPointMake(CGFloat  x, CGFloat  y);//开发中常用这用形式 

NSSize s1   = CGSizeMake(100, 50);

NSSize s2  = NSMakeSize(100, 50);

NSSize s3  = NSMakeSize(200, 50); 

NSRect等价于CSRect

CGRect r1  = CGRectMake(0, 0, 100, 50);


将结构体转为字符串这样写:

NSString *str  = NSStringFromPoint(p1);

NSString *str  = NSStringFromSize(s1);

NSString *str  = NSStringFromRect(r1);


几种不同的表示方法。

CGRect    r1     =       CGRectMake(0,       0,      100,          50);

CGRect    r2     =      {        {0,    0},    {100,         50}   };

CGRect    r3     =      {p1,  p2};

CGRect    r4     =       {CGRectPointZero,  CGRectMake(100,   50)};

 

//比较两个POINT

CGPointEqualToPoint(CGPointMake(10, 10), CGPointMake(10, 10),);

//比较两个SIZE

CGSizeEqualToSize(CGSizeMake(10, 10),        CGSizeMake(10, 10),);

//比较两个Rect

CGPointEqualToRect(CGRectMake(10, 10),   CGRectMake(10, 10),);

 


B.Foundation常用类

1.NSString:不可变字符串

2.NSMutableString:可变字符串

//字符串创建

NSString   *str  = @”jack”;

NSString   *str1= [[NSString    alloc]         initWithString:@”jack”];//不用这种写法

NSString   *str3= [[NSString    alloc]         initWithFormat:@”age is %d”, 10];

 

怎么读取文件内容;


// URL:资源路径

// 协议头://路径

//file://文件资源路径

//ftp://

// http://weibo.com//a.png


 

C.NSMutableString类(可变字符串类)使用

 

1.NSMutableString类继承于NSString 类。NSString中的方法,在NSMutableString类中可以调用。

2.此类在内存中的分类。


NSMutableString是可变字符串,可以使用字符串拼接方法来进行改变。

 

NSMutableString是可变字符串,也可以用删除方法来改变。可以现获取需要字符串位置,然后在进行删除。


D.集合类

1.OC类数组NSArray;只能存放OC对象,不能存放非OC对象类型,比如int、struct、enum等。不能够存放nil值。

NSArray *array = [NSArray      array];//这个情况是永远是空数组。

NSArray *array2=[NSArray   arrayWithObject:@”jack”];

NSArray *array3=[NSArray   arrayWithObject:@”jack”,       @”love”,           nil];//nil是数组元素的结束标记


[array       count];//这个是get方法获取

NSLog(@”%ld”,array2.count);

2.访问数组里面的数据

NSLog(@”%@”,array2[1]);


3.数组的遍历,快速遍历。

1>以前经常写的遍历方法


2>快速遍历方法写法


4.字典NSDictionary用法

1>根据索引找到文件内容。保存的都是键值对。

NSDictionary    *dict = [NSDictionary       dictionaryWithObject:@”jack”,       forkey:@”name”];

Id      obj= [dict          objectForKey:@”name”];

NSLog(@”%@”, obj);

 

5.NSNumber类

NSNumber        *num= [NSNumber numberWithInt:10];

NSNumber        *num2= dict[@”age”];

Int a = [num2 intValue];

NSLog(@”%d”,a);

 

6.NSDate时间类

//创建一个时间对象

NSDate    *date  = [NSDate        date];

//打印出来的时候是0时区的时间(北京-东8区)

NSLog(@”%@”,       date);

//比当前时间晚5S

NSDate    *date2     =       [NSDate   dateWithTimeInterval:5 sinceDate:date];

//从1970开始走过的秒数

NSTimeInterval        seconds   =       [date2      timeIntervalSince1970];

1>日期格式化

//创建一个时间对象,目的去显示到屏幕上,只有先转成字符串

NSDate    *date  = [NSDate        date];

//在设置格式,用日期格式化类

NSDateFormater     *formatter       =  [ [NSDateFormater    alloc]         init];

//设置格式

// y 年 M 月 d日

// m 分 s 秒 H(24)时  h(12)时

Formatter.dateFormater = @”yyyy-MM-dd   HH:mm:ss”;


2>把时间转换成字符串时间


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值