黑马程序员——Foundation框架——常用结构体以及NSString相关
2015-06-09 09:10
435 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
今天开始复习新的内容,IOS开发中常用的Foundation框架相关内容。
一、Foundation框架中常用的结构体
复习顺序还是按照学习笔记,首先是NSRange。
1.NSRange这个结构体通常用来表示范围:
2.NSPoint (CGPoint) 这个结构体用来表示二维平面中的坐标,NSPoint是对CGPoint的一个typedef定义
具体使用如下:
3.NSSize (CGSize) 这个结构体用来表示元素的大小尺寸。其中值得注意的是两个参数虽然源码中名称定义为Float但是实际上是double类型的。
4.NSRect (CGRect) 这个结构体用来综合描述一个元素的二维坐标和大小尺寸。 是结合了Point和Size的一个结构体。
一、Foundation框架中常用的类
1.NSString的创建
2.NSString的大小写、基本数据类型的转换
3.NSString的对比方法
4.NSString的搜索方法
5.NSString的截取方法
今天的Foundation框架复习,常用结构体和NSString相关知识就复习到这。
这种知识的学习更多的是要实际去使用,多模拟一些实际的应用场景。编写一些方法来执行某些操作。
在这个过程中逐渐熟悉这些知识对以后的学习会更好。
今天开始复习新的内容,IOS开发中常用的Foundation框架相关内容。
一、Foundation框架中常用的结构体
复习顺序还是按照学习笔记,首先是NSRange。
1.NSRange这个结构体通常用来表示范围:
//定义 typedef struct _NSRange { <span style="white-space:pre"> </span>NSUInteger location; <span style="white-space:pre"> </span>NSUInteger length; } NSRange; location表示 该范围的起始位置 length表示 该范围内所包含的个数具体使用以及表示方式如下:
//使用NSRange void range1(){ //定义一个NSRange结构体 NSRange range = NSMakeRange(8, 10); NSLog(@"Location: %zi", range.location); NSLog(@"Length: %zi", range.length); //另一种方便输出方式,使用NSStringFromRange方法 NSString *str = NSStringFromRange(range); NSLog(@"%@", str); };
2.NSPoint (CGPoint) 这个结构体用来表示二维平面中的坐标,NSPoint是对CGPoint的一个typedef定义
具体使用如下:
//使用NSPoint void point1(){ //定义一个NSPoint结构体 NSPoint point; point.x = 1440; point.y = 900; //更多定义方式 point = NSMakePoint(1440, 900); point = CGPointMake(1440, 900); //另一种方便输出方式,使用NSStringFromPoint方法 NSString *str = NSStringFromPoint(point); NSLog(@"%@", str); };
3.NSSize (CGSize) 这个结构体用来表示元素的大小尺寸。其中值得注意的是两个参数虽然源码中名称定义为Float但是实际上是double类型的。
//使用NSSize void size1(){ //定义一个NSSize结构体 NSSize size; size.width = 95.3; size.height = 3.45; //更多定义方式 size = NSMakeSize(34.1, 124.6); size = CGSizeMake(31.1, 14.5); //另一种方便输出方式,使用NSStringFromPoint方法 NSString *str = NSStringFromSize(size); NSLog(@"%@", str); };
4.NSRect (CGRect) 这个结构体用来综合描述一个元素的二维坐标和大小尺寸。 是结合了Point和Size的一个结构体。
//使用NSRect void rect1(){ NSRect rect; rect.origin.x = 1440; rect.origin.y = 900; rect.size.height = 100; rect.size.width = 200; //快速创建 rect = NSMakeRect( 1440, 900, 200, 70); //另一种方便输出方式,使用NSStringFromPoint方法 NSString *str = NSStringFromRect(rect); NSLog(@"%@", str); };
一、Foundation框架中常用的类
1.NSString的创建
NSString *str = @"This is a String!"; NSString *str1 = [[NSString alloc] initWithFormat:@"This price is %d!",400];
2.NSString的大小写、基本数据类型的转换
#pragma mark NSString大小写处理方法 void string2(){ NSString *str = @"This is OC"; NSString *numString = @"3306"; NSString *lstr = @"This我 3306字符"; //转换成大写 NSLog(@"%@",[str uppercaseString]);//THIS IS OC //转换成小写 NSLog(@"%@",[str lowercaseString]);//this is oc //首字母大写,其余小写 NSLog(@"%@",[str capitalizedString]);//This Is Oc //将字符串转换为int类型 [numString intValue];//3306 //字符串长度 [lstr length];//12 };
3.NSString的对比方法
#pragma mark NSString对比方法 void String3(){ //对比两个字符串的 内容是否一样 BOOL flag = [@"Elors" isEqualToString:@"elors"]; //对比字符串 NSComparisonResult flag1= [@"Elors" compare:@"elors"]; NSComparisonResult flag2= [@"Elors" caseInsensitiveCompare:@"elors"]; if (flag2 == NSOrderedSame) { NSLog(@"两个值相等"); }else if (flag2 == NSOrderedAscending){ NSLog(@"右边字符串 > 左边字符串"); }else if (flag2 == NSOrderedDescending){ NSLog(@"右边字符串 < 左边字符串"); } };
4.NSString的搜索方法
#pragma mark NSString搜索方法 void String4(){ NSString *str = @"ElorsisaAshiKThss.txt"; //检测 是否以指定字符串 开头 BOOL flag = [str hasPrefix:@"El"]; //检测 是否以指定字符串 结尾 flag = [str hasSuffix:@".jpg"]; //检测 是否包含指定的字符串 (从头部搜索) NSRange range = [str rangeOfString:@"s"]; //从尾部搜索 range = [str rangeOfString:@"s" options:NSBackwardsSearch]; NSLog(@"%@", NSStringFromRange(range)); };
5.NSString的截取方法
#pragma mark NSString截取方法 void String5(){ NSString *str = @"1234567890"; //从指定位置截取字符串到尾部 NSString *substr = [str substringFromIndex: 5]; //从头部截取到指定位置(指定位置之前) substr = [str substringToIndex:5]; //截取字符串,指定范围 substr = [str substringWithRange:NSMakeRange(0, 3)]; NSLog(@"%@", substr); //切割字符串 类似于JavaScript中的split方法 NSString *s = @"123*456*789*0"; NSArray *array = [s componentsSeparatedByString:@"*"]; NSLog(@"%@", [array description]); //取出NSArray中的某项 NSString *as = [array objectAtIndex:0]; };
今天的Foundation框架复习,常用结构体和NSString相关知识就复习到这。
这种知识的学习更多的是要实际去使用,多模拟一些实际的应用场景。编写一些方法来执行某些操作。
在这个过程中逐渐熟悉这些知识对以后的学习会更好。
相关文章推荐
- 思考-关于职场
- 黑马程序员 - 技术 blog15 之 反射 by 八戒
- 黑马程序员_多线程间通信
- 51sap SD模块面试问题相关热门问题总结
- 黑马程序员_多线程(死锁)
- 黑马程序员--Java基础Day06
- 10+年程序员总结的20+条经验教训
- 为什么世界上一些最好的科学家和程序员,在世人眼里,都有点不太正常,甚至行为混乱
- 黑马程序员————多态、抽象类、接口简述
- 面试
- 面试算法java方式实现打印金字塔三角形
- Java集合框架面试问题集锦
- 黑马程序员-两种容易混淆的指针及构造方法的执行过程分析
- 黑马程序员——Java基础---IO流<实例>
- 程序员如何提高影响力
- 也谈谈程序员职业规划的几个问题:我的一些故事
- 余波:技术人员如何走出职业迷茫
- 分享8年开发经验,浅谈程序员职业规划
- 黑马程序员----用LinkedList模仿堆栈和队列原理
- 黑马程序员-Properties类对配置文件的读取与操作。