黑马程序员_object c学习日记⑥_Foundation框架:结构体、集合类、NSString、日期类

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

Foundation框架:

#import <Foundation/Foundation.h>

结构体:

NSRange(location length):NSMakeRange(2, 4);

NSPoint/CGPoint(x, y):CGPointMake(11, 11);

NSSize/CGSize(width,height):CGSizeMake(111, 11);

NSRect/CGRect(origin, size):CGRectMake(0,0, 100, 20);

 

// 查找某个字符串在字符串的范围;

// 如果找不到,length=0,location=NSNotFound==-1

NSRange r = [@”I love oc”, rangeOfString:@”love”];

CGPointZero:原点(0, 0)

CGPointEqualToPoint(); // 比较

 

NSString:不可变字符串

(子类)NSMutableString:可变字符串

 

// 集合类

// oc数组只能存放oc对象,不能存放非oc对象类型;不能存放nil;

NSArray:不可变数组

NSArray *a = @[@”jack”]; // 快速创建NSArray

可以使用a[0]快速访问

(子类)NSMutableArray:可变数组

// id obj代表着数组中的每一个元素

for (id obj in array) {} // 快速遍历

 

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

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

// stop停止标志,*stop = YES;停止

[array enumerateObjectsUsingBlock:

^(id obj, NSUInteger idx, BOOL *stop)

{

//执行语句;

}];

 

NSSet(NSMutableSet)

NSSet和NSArray的对比:

共同点:都是集合,都能存放多个oc对象;只能存放oc对象,不能存放非oc对象类型;本身都不可变,都有一个可变的子类

不同点:NSSArray有顺序,NSSet无序

 

NSDictionary(NSMutableDictionary)

NSDictionary *d = @{@”name”:@”jack”}; // 快速创建NSDictionary

可以使用d[@”name”]快速访问

字典不允许用相同的key,但允许有相同的value

字典是无序的

 

集合总结:

1 NSArray/NSMutableArray:

有序

快速创建:@[obj1, obj2]

快速访问元素:数组名[i]

 

2 NSSet/NSMutableSet:

无序

 

3 NSDictionary/NSMutableDictionary:

无序

快速创建:@{key1 : value1, key2 : value2}

快速访问元素:字典名[key]

 

NSNumber:[NSNumber numberWithInt:20];

@20; // 快速包装NSNumber对象

int age =11;

@(age); // 快速将age变量包装成NSNumber对象

NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue

 

NSValue:可以包装任何东西

 

NSDate:日期类

NSDateFormatter *f = [[NSDateFormatteralloc] init];

// y 年 M 月 d 日 H (24)时 h (12)时 m 分 s 秒

f.dateFormat = @”yyyy-MM-dd HH:mm:ss”; // 设置日期格式

[f dateFromString:日期字符串]; // 字符串转日期

[f stringFromDate:日期类对象]; // 日期转字符串

 

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值