黑马程序员——oc语言学习心得—— Foundaction
来源:互联网 发布:保罗特勤淘宝 编辑:程序博客网 时间:2024/06/05 19:54
黑马程序员——oc语言学习心得—— Foundaction
-------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
Foundation框架中常用的类有:
NSString——字符串NSArray——数组
NSNumber——数字
NSDate——日期
NSData——数据
NSDictionary——字典
以及它们对应的子类 NSMutableString、NSMutableArray、NSMutableSet、NSMutableDictionary等。
父类统一为不可变而子类可变,还包括NSDate、NSObject
可变和不可变的区别是对象内容的可变和不可变,子类既然是继承父类那么子类可以使用父类中的任意方法。
一、字符串(NSString类型)
格式字符%@可以显示字符串,数组,字典和集合的全部内容。
1. 字符串比较
NSString *thing1 =@“hello 5”;
NSString *thing2 = [NSString stringWithFormat: @"hello %d",5];
if([thing1 isEqualToString: thing2])
{
NSLog(@"They are the same!");
}
用到了两个字符串的方法,stringWithFormat:是格式化字符串输出。isEqualToString:是判断两个字符串是否相同。
用“==”运算符比较,只能判断thing1和thing2的指针数值是否相同。而不能判断是否指向同一个对象。由于thing1和thing2是不同的字符串,所有这边用这个运算符比较的话,会被认为是不同的。
2. 字符串的可变性
在OC中,NSString类型是不可变的,即:一旦被创建,便不能变化。如果要对字符串进行改变的话,则在Cocoa中,提供了一个NSString的子类,叫NSMutableString。
1 NSMutableString *string = [NSMutableString stringWithCapacity:50];
2 [string appendString: @"Hello "];
3 [string appendFormat: @"NSString %d", 2];
定义用的关键字:stringWithCapacity。运行结果等于string被两次赋值,最后结果是:“Hello NSString 2”。
二NSArray和NSDictionary
集合类型,就相当于C语言中的数组。NSArray是一个Cocoa类,用来存储对象的有序列表。只能存OC对象,而不能存C语言的基本数据类型。同时,也不能直接存nil(对象的NULL值)。
1. 创建一个NSArray的格式:
1 NSArray *array1 = [NSArray arrayWithObjects: @"one", @"two", @"three", nil];
这里,我们定义的集合有三个元素,最后面的nil并不是一个元素,而是结束的标记符号。这也是为什么集合类型不能存nil的原因。
只要是个集合,就有count获取集合中元素的个数,index来获取指定位置的元素。注意,获取元素的index值不能大于集合总数count,否则会报错!
for(NSInteger i=0; i< [array1 count]; i++)
{
NSLog(@"index %d is %@", i, [array1 objectAtIndex: i]);
}
2. 可变集合
和NSString一样,NSArray创建也是不可变对象,一旦创建就不能被修改。因此,集合类型也有子类型是可以变的:NSMutableArray。
和NSString一样,定义可变集合也有配套的关键字:arrayWithCapacity。
NSMutableArray *array = [NSMutableArray arrayWIthCapacity: 5];
for(NSInteger i=0; i<5; i++)
{
Tire *tire = [[Tire alloc] init];
[array addObject: tire];
}
[array removeObject: 1]; // 元素索引从0开始。
3.NSDictionary类型
定义字典类型对象的格式:
1 NSDictionary *tires = [NSDictionary dictionaryWithObjectsAndKeys: t1, @"tire1", t2, @"tire2", t3, @"tire3", nil]; // 也是用nil表示结束
字典类型还有一种创建方法:
NSMutableDictionary *tires = [NSMutableDictionary dictionary];
[tires setObject:t1 forKey:@"tire1"];
[tires setObject:t2 forKey:@"tire2"];
[tires setObject:t3 forKey:@"tire3"];
如果要删除字典中的元素,可以用:
[tires removeObjectForKey: @"tire1"];
可变字符串NSMutableString
Array增删改查
字典增删改查
0 0
- 黑马程序员——oc语言学习心得—— Foundaction
- 黑马程序员—oc语言学习心得—block
- 黑马程序员—C语言学习心得
- 黑马程序员——oc语言学习心得—— 手动管理内存
- 黑马程序员——oc语言学习心得—— 自定义构造方法
- 黑马程序员——oc语言学习心得—— 代理模式
- 黑马程序员——oc语言学习心得—— Fundation
- 黑马程序员——OC语言初学
- 黑马程序员——OC语言ARC
- 黑马程序员——OC语言Block
- 黑马程序员——OC语言ARC
- 黑马程序员——OC语言基础知识
- 黑马程序员——OC语言------Foundation
- 黑马程序员——OC语言——内存管理
- 黑马程序员——OC语言——继承
- 黑马程序员——OC语言——多态
- 黑马程序员——OC语言——点语法
- 黑马程序员——OC语言——内存管理
- iOS中 输入账户密码错误时的抖动提示
- hdu 4662 MU Puzzle 余数
- 真正的中国天气api接口xml,json(求加精) ...
- iOS 中去掉tableview中多余的cell
- TCP/IP详解学习笔记(13)-- TCP连接的建立与终止
- 黑马程序员——oc语言学习心得—— Foundaction
- springMVC Kaptcha 实现验证码功能
- android studio 打包
- hdoj 5510 Bazinga 【不要想太多。。。 strstr】
- 【HDU5512 2015沈阳赛区D】【签到题 gcd博弈】Pagodas 取数x+y或x-y
- java学习笔记.03——线程同步
- 输入cin>>
- 同余式。。
- nyoj 星际之门(一) 127 (无根树转有根树)