------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
今天开始复习新的内容,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];
#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相关知识就复习到这。
这种知识的学习更多的是要实际去使用,多模拟一些实际的应用场景。编写一些方法来执行某些操作。
在这个过程中逐渐熟悉这些知识对以后的学习会更好。