1.CF开头的东西一般是与CoreFoundation有关的部分。而CoreFoundation是纯C语言编写的。Foundation框架是在CoreFoundation的基础上编写的。
2.NSRange是用来表示范围内的东西,比如一个字符串中一定范围内的字符。或者一个数组中的一部分item。主要是两个参数,一个是location,另外一个是length。
使用的时候可以有三种方式,
例1:
NSRange range;
range.location=17;range.length=4;
例2:
NSRange range={17,4};
例3:
NSRange range = NSMakeRange(17,4);
它本身可以作为一个参数,例如[Human eat:NSMakeRange(2,3)];
(这一句好像java得样子啊,不太容易记,还是用例2好了)。
3.Geometric types(几何类型)
CGPoint,CGSize类型,其中CG是Core Graphics的缩写。
OC对象的回收机制是动态的。
NSString的声明和使用是这样的:
NSString *word;
word = [NSString stringWithFormat:@"who are you %d?",5];
用+号声明函数时,代表这个函数是属于该类的,成为类方法,通常用来创建类的实例或者获取一些全球类的数据。
NSString的获取长度的方法也同样适用于国际性语言,例如中文。
4.比较性的方法Comparative Politics
方法如下:
- (NSComparisonResult) compare: (NSString *) aString
options: (NSStringCompareOptions) mask;
其中options主要用于设置是否忽略大小写,以及是否比较字符串中数字的值
使用例子如下:
if ([thing1 compare: thing2 options: NSCaseInsensitiveSearch | NSNumericSearch]
== NSOrderedSame)
{
NSLog (@"They match!");
}
- (BOOL) hasSuffix: (NSString *) aString;
And you’d use these methods as follows:
NSString *fileName = @"draft-chapter.pages";
if ([fileName hasPrefix: @"draft"])
{
// this is a draft
}
if ([fileName hasSuffix: @".mov"])
{
// this is a movie
}
两个方法的函数以及用法如上所示;
- (NSRange) rangeOfString: (NSString *) aString; 用来查验是否在其中一个字符串中有拎一个字符串。
NSRange jackRange = [friends rangeOfString: @"Jack"];
jackRange.length++; // eat the space that follows
以上代码段表示先找到朋友列表中的jack,然后去掉那个空格,最后在删掉friend中的jack部分。[friends deleteCharactersInRange: jackRange];
NSString与NSMutableString的关系就像是java中String和StringBuffer的关系。创建的方法如下:
NSArray只能包含Objective-C的对象,而且不支持被赋值为nil。NSMutableString *string = [NSMutableString stringWithCapacity:42];
初始化的方法如下:
[string appendString:@"123.txt"]
创建的方式如上,最后一个必须是nil来表示这个NSArray已经结束了,这也是为什么这里不能随便被赋值为nil的原因了。NSArray *array = [NSArray arrayWithObjects:@"one", @"two", @"three", nil];
也可以用下面这种方式来创建:
那么如何使array中所有的对象都做同一个操作呢?NSArray *array2 = @[@"one", @"two", @"three"];
声明一个枚举对象,然后挨个对对象中的对象进行枚举,并操作。NSEnumerator *enumerator = [array objectEnumerator]; while (id thingie = [enumerator nextObject]) {
NSLog (@"I found %@", thingie); }
还有一种快速枚举,代码如下:
不过通常用block得方法来枚举;for (NSString *string in array) {
NSLog (@"I found %@", string); }
四种枚举所有对象的方法总结以及什么情况下使用。
NSDictionary:明日继续,先巩固今天所学得内容。