您的位置:首页 > 移动开发 > IOS开发

iOS 编程学习笔记之Foundation框架

2014-09-15 09:38 417 查看
Foundation 框架:

NSString (c字符串前面加@)

NSString *myString = @"My String\n";


NSString *anotherString = [NSString stringWithFormat:@"%d %@", 1, @"String"];


NSString *fromCString = [NSString stringWithCString:"A C string" encoding:NSUTF8StringEncoding];


NSString *string = [NSString string]; 
NSString
类声明 [code]string
类方法 ?[/code]

NSNumber

NSNumber *myIntValue = @32;


NSNumber *myDoubleValue = @3.22346432;


NSNumber *myBoolValue = @YES;


NSNumber *myCharValue = @'V';


NSNumber *myFloatValue = @3.2F


NSArray
NSSet
NSDictionary
类的内容不能随时间而变化。

NSArray(可以存不同类的实例!)

虽然NSArray不可变,但是它所存的元素是可变的。(可以理解为它保存的是指针变量。)

定义:


NSArray *someArray = @[firstObject, secondObject, thirdObject];(不要用nil结尾)


NSArray *someArray =
[NSArray arrayWithObjects:firstObject, secondObject, thirdObject, nil];(以nil作为结尾符,与c中的char数组类似)

“成员函数”:

数组元素个数:[someArray count]

查找元素:[someArray containsObject:someString]

访问元素:[someArray objectAtIndex:0] (此方法在数组为空时会返回异常)

访问元素:someArray[0] (实为上个方法的重写)

输出元素到NSlog函数:NSLog(@"First item is: %@", [someArray objectAtIndex:0]);

NSArray *sortedStrings =
[unsortedStrings sortedArrayUsingSelector:@selector(compare:)]; (由于NSArray不可变,所以该方法会返回新的排好序的数组)

NSMutableString

NSMutableString *mutableString = [NSMutableString stringWithString:@"Hello"];


[string0 appendString:@" World!"]

[string0 isKindOfClass:[NSMutableString class]] 判断是否是这个类或者这个类的子类的实例

[string0 isMemberOfClass:[NSMutableString class]] 判断是否是这个类的实例

NSMutableArray

NSMutableArray *mutableArray = [NSMutableArray array];


[mutableArray addObject:@"gamma"];


[mutableArray replaceObjectAtIndex:0 withObject:@"epsilon"];
或者 mutableArray[0] = @"epsilon";

[mutableArray sortUsingSelector:@selector(caseInsensitiveCompare:)];


@selector(localizedCompare:) 普通排序

@selector(caseInsensitiveCompare:) 按升序且不区分大小写的顺序排序

NSSet (单个对象只会添加一次,和stl里的set类似)

NSSet *simpleSet =
[NSSet setWithObjects:@"Hello, World!", @42, aValue, anObject, nil];


NSDictionary (感觉就是stl中的map)

创建……

查询对象:
NSNumber *storedNumber = dictionary[@"magicNumber"];
或者 NSNumber *storedNumber = [dictionary objectForKey:@"magicNumber"];

可变性:使用
NSMutableDictionary
子类?

添加、删除……

(虽然其他对象也可以用作键,但要注意,每个键都会被拷贝以供字典使用,并且必须支持
NSCopying
。不过,如果要使用键-值编码,则必须为字典对象使用字符串键。若要了解更多信息,请参阅《Key-Value Coding Programming Guide》(键值编码编程指南)。)

NSNull (单例类)

nil表示无对象,[NSNull null]才是null值。

NSArray *array = @[ @"string", @42, [NSNull null] ];


for (id object in array) {
if (object == [NSNull null]) {
NSLog(@"Found a null object");
}
}


//检查是否存在null实例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: