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
类声明string
类方法 ?
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)
- //NSDictionary 创建
//NSDictionary 简洁
- 查询对象:
NSNumber *storedNumber = dictionary[@"magicNumber"];
或者 NSNumber *storedNumber = [dictionary objectForKey:@"magicNumber"]; - 可变性:使用
NSMutableDictionary
子类? - //添加、删除
- (虽然其他对象也可以用作键,但要注意,每个键都会被拷贝以供字典使用,并且必须支持
NSCopying
。不过,如果要使用键-值编码,则必须为字典对象使用字符串键。若要了解更多信息,请参阅《Key-Value Coding Programming Guide》(键值编码编程指南)。)
- //NSDictionary 创建
- NSNull (单例类)
- nil表示无对象,[NSNull null]才是null值。
NSArray *array = @[ @"string", @42, [NSNull null] ];
- //for语句、NSlog函数
时间: 2024-09-29 11:15:29