黑马程序员_Foundation框架的学习
来源:互联网 发布:2013网络零售交易额 编辑:程序博客网 时间:2024/06/03 11:38
一、Foundation框架常用结构体NSRange\CGRange、NSPoint\CGPoint、NSSize\CGSize、 NSRect\CGRect 的使用
1. 基本使用:
//NSRange的使用 NSRange r1 = NSMakeRange(2, 4); //第一个参数为.location 第二个参数为.length NSString *str = @"学习OC"; NSRange range = [str rangeOfString:@"学习"]; //查找某个字符串在str字符串中的位置和长度 NSLog(@"loc = %ld, len = %ld",range.location, range.length); NSRange range1 = [str rangeOfString:@"找不到"]; //查找某个字符串在str字符串中的位置和长度 NSLog(@"loc = %d, len = %ld",range1.location, range1.length); //如果找不到,location 的返回值为-1,要用%d输出location 的值才会有负号,默认的%ld是没有符号 //CGPoint的使用 CGPoint point1 = NSMakePoint(10, 10); NSPoint point2 = CGPointMake(10, 10); //平常经常使用这种方法定义一个CGPoint 对象 //NSSzie的使用 NSSize size1 = CGSizeMake(10, 20); CGSize size2 = NSMakeSize(10, 20); //CGRect 的使用 CGRect rect1 = CGRectMake(0, 0, 50, 50); CGRect rect2 = {point1, size1}; //打印结构体的方法 NSString *s = NSStringFromPoint(point1); NSLog(@"%@",s); NSString *s1 = NSStringFromRect(rect1); NSLog(@"%@",s1);2. 相关的其他方法
//判断结构体NSPoint\CGPoint、NSSize\CGSize、 NSRect\CGRect 包含的值是否相同的方法 CGPointEqualToPoint(point1, point2); CGRectEqualToRect(rect1, rect2); CGRectEqualToRect(rect1, rect2); //判断某个rect是否包含某个点,必须引用框架CoreGraphic.framework,这样才能调用 CGRectContainsPoint方法 BOOL b1 = CGRectContainsPoint(rect1, point1); NSLog(@"%d",b1); return 0;
二、Foundation框架常用类
1.NSString
//创建字符串 NSString *s1 = @"test"; NSString *s2 = [[NSString alloc]initWithFormat:@"test is %c",'c']; //此方法可以将c语言字符串转化为OC字符串 NSString *s3 = [[NSString alloc]initWithUTF8String:"name"]; //OC字符串转化为C语言字符串 const char *cs = [s3 UTF8String]; NSString *s4 = [[NSString alloc] initWithContentsOfFile:@"/Users/lpmac/Desktop/my.text" encoding:NSUTF8StringEncoding error:nil]; [NSString stringWithContentsOfFile:@"/Users/lpmac/Desktop/my.text" encoding:NSUTF8StringEncoding error:nil]; NSURL *url = [[NSURL alloc]initWithString:@"file:///Users/lpmac/Desktop/my.text"]; //类方法 [NSURL URLWithString:@"file:///Users/lpmac/Desktop/my.text"]; NSString *s5 = [[NSString alloc]initWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; //类方法 [NSString stringWithContentsOfFile:@"file:///Users/lpmac/Desktop/my.text" encoding:NSUTF8StringEncoding error:nil]; NSLog(@"%@",s5);
2.
NSMutableString的使用(动态字符串)
NSMutableString * mutableString1 = [NSMutableString stringWithFormat:@"test"]; //拼接字符串 [mutableString1 appendString:@"append str"]; //删除 NSRange range = [mutableString1 rangeOfString:@"test"]; [mutableString1 deleteCharactersInRange:range]; NSLog(@"%@",mutableString1);
3.NSArray 和 NSMutableArray
//数组的创建 NSArray *array = [NSArray arrayWithObject:@"test"]; NSArray *array1 = [NSArray arrayWithObjects:@"test1",@"test2",@"test2",nil]; NSArray *array2 = @[@"test1",@"test2",@"test2"]; //提倡快速写法 //数组访问 [array1 objectAtIndex:0]; array1[0]; //提倡 //数组的遍历 for (int i=0; i<array.count; i++) { NSLog(@"%@",array[i]); }
//快速遍历 for (id obj in array2) { NSUInteger loc = [array2 indexOfObject:obj]; NSLog(@"%@,%ld",obj,loc); } [array2 enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { NSLog(@"%@,%ld",obj,idx); if (idx == 1) { *stop = YES; } }];
NSMutableArray 是动态数组不可使用语法@[] 来初始化
0 0
- 黑马程序员_Foundation框架的学习
- 黑马程序员_Foundation框架
- 黑马程序员_Foundation框架
- 黑马程序员_Foundation框架
- 黑马程序员_Foundation框架小结
- 黑马程序员_Foundation框架02_NSString
- 黑马程序员_Foundation学习之结构体
- 黑马程序员--IOS_学习笔记_Foundation/CoreGranphics
- 黑马程序员_object c学习日记⑥_Foundation框架:结构体、集合类、NSString、日期类
- 黑马程序员_Foundation框架03_集合类
- 黑马程序员_Foundation框架01_结构体
- 黑马程序员_Foundation框架04_NSNumber、NSValue、NSDate
- 黑马程序员_Foundation框架基础知识(一)常用结构体
- 黑马程序员_Foundation框架基础知识(二)集合类
- 黑马程序员_Foundation框架基础知识(三)-常用类
- 黑马程序员_Foundation学习之NSString、NSArray及相关
- 黑马程序员_Foundation学习之NSSet、NSDictionary、NSNumber、NSValue、NSDate
- 黑马程序员-集合框架的学习笔记-2
- java
- BW TABLES -先记下以后再翻成中文
- 黑马程序员_OC内存管理
- Lucene的多种高级搜索形式
- 黑马程序员_block 和 protocol的使用
- 黑马程序员_Foundation框架的学习
- poj - 2965
- SVN服务器客户端以及环境的搭建和使用
- XML与JSP
- lfs
- 我的IOCP学习笔记
- 点餐系统(六)——hibernate操作
- VS2008下报warning C4996
- JavaSE(4):java异常处理与常用类