// 一般记录屏幕上的点位置 CGPoint p1 = NSMakePoint(10, 10); NSPoint p2 = CGPointMake(20, 20);// 最常用 // 描述一片区域的尺寸大小 NSSize s1 = CGSizeMake(100, 50); NSSize s2 = NSMakeSize(100, 50); CGSize s3 = NSMakeSize(200, 60); // 定义矩形 CGRect r1 = CGRectMake(0, 0, 100, 50); CGRect r2 = { {0, 0}, {100, 90}}; //使用 NSPoint ,NSSize来初始化, CGRect r3 = {p1, s2}; // 将结构体转为字符串 NSString *str = NSStringFromPoint(p1); NSString *str = NSStringFromSize(s3);
NSString : 不可变字符串与NSMutableString : 可变字符串
.字符串的创建
// 直接赋值的方式 NSString *s1 = @"jack"; // 调用构造函数,初始化 NSString *s2 = [[NSString alloc] initWithString:@"jack"]; NSString *s3 = [[NSString alloc] initWithFormat:@"age is %d", 10]; // C字符串 --> OC字符串 NSString *s4 = [[NSString alloc] initWithUTF8String:"jack"]; // OC字符串 --> C字符串 const char *cs = [s4 UTF8String]; // NSUTF8StringEncoding 用到中文就可以用这种编码 NSString *s5 = [[NSString alloc] initWithContentsOfFile:@"/Users/apple/Desktop/1.txt"encoding:NSUTF8StringEncoding error:nil]; NSMutableString *s1 = [NSMutableString stringWithFormat:@"my age is 10"]; // 拼接内容到s1的后面 [s1 appendString:@" 11 12"];
NSString *str = @"要输出的字符串"; NSURL *url = [NSURL fileURLWithPath:@"/Users/dwt1220/指定的文件.txtt"]; [str writeToURL:url atomically:YES encoding:NSUTF8StringEncoding error:nil];
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose", @"jim", nil]; // 添加元素 [array addObject:[[Person alloc] init]]; [array addObject:@"jack"]; // 删除元素 //[array removeAllObjects]; // 删除指定的对象 // [array removeObject:@"jack"]; [array removeObjectAtIndex:0]; // 错误写法 // [array addObject:nil];
遍历数组
for (id obj in array) { // 返回obj元素在数组中的位置 NSUInteger i = [array indexOfObject:obj]; NSLog(@"%ld - %@", i, obj); //i++; if (i==1) { break; } }
NSMutableSet *s = [NSMutableSet set]; // 添加元素 [s addObject:@"hack"]; // 删除元素 [s removeObject:<#(id)#>]; // set的基本使用 void test() { NSSet *s = [NSSet set]; NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil]; // 随机拿出一个元素 NSString *str = [s2 anyObject]; NSLog(@"%@", str); //NSLog(@"%ld", s2.count); }
NSDictionary\NSMutableDictionary 是键值对
* 无序
* 快速创建(不可变):@{key1 : value1, key2 : value2}
* 快速访问元素:字典名[key]
字典不允许有相同的key,但允许有相同的value(Object)
NSDictionary *dict = @{ @"address" : @"北京", @"name" : @"jack", @"name2" : @"jack", @"name3" : @"jack", @"qq" : @"7657567765"}; NSArray *keys = [dict allKeys]; for (int i = 0; i<dict.count; i++) { NSString *key = keys[i]; NSString *object = dict[key]; NSLog(@"%@ = %@", key, object); }