A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© woaiqpl 中级黑马   /  2015-6-23 10:56  /  728 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


我的博客里的一篇发到这给大家看看

一.NSArray\NSMutableArray

* 有序

*快速创建(不可变):@[obj1, obj2, obj3]

*快速访问元素:数组名

  1.NSArray的创建

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

   // nil是数组元素结束的标记

   NSArray *array3 = [NSArray arrayWithObjects:@"jack", @"rose",nil];

   NSArray *array4 = [NSArray arrayWithObjects:@"jack",@"rose", @"4324324", nil];


   快速创建一个NSArray对象;

   NSArray *array4 = @[@"jack", @"rose",@"4324324"];


   2.NSArray的元素个数

   NSLog(@"%ld", array3.count);


    3.NSArray中元素的访问

   NSLog(@"%@", [array3 objectAtIndex:1]);

   NSLog(@"%@",array3[0]);


  4.错误写法

   NSMutableArray *array = @[@"jack", @"rose"];

   [array addObject:@"jim"];



二.NSSet\NSMutableSet

1.NSSet为无序的;

2.与NSSet和NSArray的对比

1> 共同点

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


只能存放OC对象,不能存放非OC对象类型(基本数据类型:int、char、float等,结构体,枚举)

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

2> 不同点

*NSArray有顺序,NSSet没有顺序


3.NSSet的创建

NSSet *s = [NSSetset];

NSSet *s2=[NSSetsetWithObjects:@"jack",@"rose",@"jack2",@"jack3",nil];

4. NSSet的取值(因NSSet是无须的只能随即拿出一个数)

NSString *str =  [s2 anyObject];



三.NSDictionary\NSMutableDictionary

字典

    key ----> value

    索引 ----> 文字内容

里面存储的东西都是键值对


快速创建(不可变):@{key1 : value1,  key2 : value2}

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


字典不允许有相同的key,但允许有相同的value(Object)

字典无序的


  1.字典初始化

   NSDictionary *dict = @{

    @"address" : @"北京",

    @"name1" : @"秦",

    @"name2" : @"培",

    @"name3" : @"力",

    @"qq" : @"295002729"};

  2.添加和移除键值对

    添加键值对

    [dict setObject:@"jack"forKey:@"name"];

    [dict setObject:@"北京"forKey:@"address"];

    [dict setObject:@"rose"forKey:@"name

    移除键值对

    [dictremoveObjectForKey:<#(id)#>];



六、NSNumber

// 将各种基本数据类型包装成NSNumber对象

@10.5;

@YES;

@'A'; // NSNumber对象

@"A"; // NSString对象


// NSNumber的创建

NSNumber *n = [NSNumber numberWithDouble:10.5];

NSArray *array = @[

@{@"name" : @"jack", @"age" : @20}

];



七、NSDate

// NSDate的创建

// 创建一个时间对象

NSDate *date = [NSDate date];

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

NSLog(@"%@", date);

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


// 日期格式化类

// 01/01/0001

NSString *time = @"2015/06/22 ";

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

// y 年  M月  d 日

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

formatter.dateFormat = @"yyyy/MM/dd HH:mm";

NSDate *date = [formatter dateFromString:time];

NSLog(@"%@", date);




八、NSDate

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

// 结构体--->OC对象

CGPoint p = CGPointMake(10, 10);

// 将结构体转为Value对象

NSValue *value = [NSValue valueWithPoint:p];

// 将value转为对应的结构体

// [value pointValue];

3 个回复

倒序浏览
谢谢楼主分享,学习了!
回复 使用道具 举报
看着好艰难,楼主可以把字体改一下:handshake
回复 使用道具 举报
收藏学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马