---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
一、 NSRange
包括location与length两个属性,是取字符串一块在其中的起始位置与元素个数的定义
如定义字符串
NSString *str = @"i love oc";
查找其中的一块
NSRange range = [str rangeOfString:@"jloc"];
NSLog(@"loc = %ld, length=%ld", range.location, range.length);//如果类型为d会警告,因为长度问题.
二.NSPoint
表示一个点,拥有(x,y)的属性,平面一点.两种定义方式
CGPoint p1 = NSMakePoint(10,10);
NSPoint p2 = CGPointMake(20,20);// 最常用
注:CGPointZero表示原点,也就是手机屏幕的左上角
三 .NSSize
如size之名,是用来储存宽度和高度的,他的三中定义方式
NSSize s1 = CGSizeMake(100,50);
NSSize s2 = NSMakeSize(100,50);
CGSize s3 = NSMakeSize(200,60);
四.NSString 和NSMutableString
用来创建字符串类型,NSString字符串不可变,NSMutableString用来创建可以增删的可变字符串.
1.NSString创建字符串常用方法:
NSString *s1 =@"sdf "; 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];
NSUTF8StringEncoding只需要注意的是中文UTF8编码,一般IOS中文档乱码就是没有在windows下使用UTF8编码
从文件中取出字符串的方式
NSString *path = @"/Users/apple/Desktop/test.txt";
NSString *string = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:&error];
若URL中读取注意文档路径三个斜杠,如
NSURL *url = [[NSURL alloc] initWithString:@"file:///Users/apple/Desktop/1.txt"];
还有一般将url单独定义
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
NSString *string = [[NSString alloc] initWithContentsOfURL:url
encoding:NSUTF8StringEncoding error:nil];
将字符串写入文件的方式
NSString *string = @"字符串";
NSString *path = @"/Users/apple/Desktop/abc.txt";
[string writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];
2.NSMutableString的一些操作
- (void)viewDidLoad
{
[super viewDidLoad];
NSMutableString * str = [[NSMutableString alloc] init]; //添加普通的字符串
[str appendString:@"aaa"]; //添加字符串 整型 字符型
[str appendFormat:@"我的名字:%@ 我的年龄:%d 我的邮箱:%s",@" MOMO", 25,"xuanyusong@gmail.com"];
NSLog(@"str = %@",str);
}
删除用的方法
- (void)viewDidLoad
{
[super viewDidLoad]; //创建字符串
NSMutableString *str = [NSMutableString stringWithString:@" MOMO 将行~"];
//删除字符串中含"MOMO"的字符
[str deleteCharactersInRange: [str rangeOfString: @"MOMO"]];
NSLog(@"str = %@",str);
}
插入方法
nsertString
方法:第一个参数
插入的字符串对象,
第二个参数
插入的位置。
[str insertString:@"我是小尾巴```" atIndex:10];
还有拷贝与类型转换功能.
五 NSArray
用来存储列表,不可变的数组 与NSString 可变数组为NSMutableArray
创建过程
NSMutableArray *array = [NSMutableArray arrayWithObjects:@"rose",@"jim", nil];
一些操作方法
// 添加元素
[array addObject:[[Person alloc] init]];
[array addObject:@"jack"];
// 删除元素
[array removeAllObjects];
// 删除指定的对象
[array removeObject:@"jack"];
遍历有多种方法,普通遍历 快速遍历 block遍历. 前两种用的是for循环
这里block遍历为
[array enumerateObjectsUsingBlock:
// 每遍历到一个元素,就会调用一次block
// 并且当前元素和索引位置当做参数传给block
^(id obj, NSUInteger idx, BOOL *stop)
{
NSLog(@"%ld - %@", idx, obj);
if (idx == 0)
{ // 停止遍历
*stop = YES;
}
}];
六 NSSet
相当于没有顺序的NSArray集合
如
NSSet *s = [NSSet set]; //NSSet的创建
NSSet *s2 = [NSSet setWithObjects:@"jack",@"rose", @"jack2",@"jack3",nil];
// 随机拿出一个元素
NSString *str = [s2 anyObject];
NSLog(@"%@", str);//随机
七.NSDictionary 字典类型
包含两种属性
key 和 索引 ,可以通过字典名[key]快速访问字典
代码如
NSArray *persons = @[@{@"name" : @"rose", @"qq" : @"767567"},
@{@"name" : @"jim", @"qq" : @"423423"},
@{@"name" : @"jake", @"qq" : @"123123213"}
];
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------