/*
foundation框架是其他所有IOS框架的基础、foundation框架包含了很多开发中常用的数据类型
1、结构体
2、数字类
3、字符串类
4、集合类
5、日期类
。。。
*/
/*
NSRange 表示范围
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
*/
//查找某个字符串在另一个字符串中的位置
NSString *[email protected]"xxoo";
NSRange range2 = [str rangeOfString:@"oo"];
if (range2.location == NSNotFound) {
NSLog(@"没找到");
}else{
NSLog(@"在字符串中的位置和长度为:%lu %lu",range2.location,range2.length);
}
//快速把结构体转化成字符串
NSLog(@"%@",NSStringFromRange(range2));
/*
NSRange 表示范围
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
*/
//查找某个字符串在另一个字符串中的位置
NSString *[email protected]"xxoo";
NSRange range2 = [str rangeOfString:@"oo"];
if (range2.location == NSNotFound) {
NSLog(@"没找到");
}else{
NSLog(@"在字符串中的位置和长度为:%lu %lu",range2.location,range2.length);
}
//快速把结构体转化成字符串
NSLog(@"%@",NSStringFromRange(range2));
}
//NSPoint 表示点 和CGPoint一样不过CGPoint可以跨平台
NSPoint point1=NSMakePoint(100, 100);
NSLog(@"%.1f,%.1f",point1.x,point1.y);
//NNSize 表示ui元素的尺寸
NSSize size1=NSMakeSize(100,300);
NSSize size2=NSMakeSize(100,300);
//NSRect =表示ui元素的位置和尺寸
NSRect rect1 = NSMakeRect(0, 0, 100, 30);
NSRect rect2 = NSMakeRect(0, 0, 100, 20);
//坐标原点
NSMakePoint(0, 0);
CGPointMake(0, 0);
CGPoint pointz=CGPointZero;
//尺寸为0
CGSize sizeZ=CGSizeZero;
// 比较两点是否相同 返回尺寸
NSPoint p1=NSMakePoint(10, 10);
NSPoint p2=NSMakePoint(20, 10);
CGPointEqualToPoint(p1, p2);
//比较两个点位置和尺寸
bool flag1 = CGPointEqualToPoint(p1, p2);
bool flag2 = CGSizeEqualToSize(size1, size2);
bool flag3 = CGRectEqualToRect(rect1, rect2);
//坐标原点默认左上角
//判断某个区域是否包含了该点
// bool flag4 = CGRectContainsPoint(rect1, rect2);
//判断某个区域是否包含某个小区域
bool flag5 = CGRectContainsRect(rect1, rect2);
if (flag5) {
NSLog(@"包含");
}else{
NSLog(@"不包含");
}
/*
装箱和拆箱
装箱(boxing) :把基本数据类型包装为OC对象 (向上转型)
拆箱(unboxing):把OC对象转化为基本数据类型 (向下转型)
*/
/*
NSNumber 把基本数据类型包装成对象
NSValue 把结构体包装成对象
NSNumber 是 NSValue 的子类
*/
//装箱
NSNumber *intN1 = [[NSNumber alloc] initWithInt:1];
NSNumber *intN2 = [[NSNumber alloc] initWithInt:2];
NSNumber *floatN1 = [[NSNumber alloc] initWithFloat:1.0];
//通过类方法快速创建对象
NSNumber *floatN2 = [NSNumber numberWithFloat:2];
NSNumber *longN1 = [NSNumber numberWithLong:10];
//判断两个对象是否相等
if([intN1 isEqualToNumber:intN2]){ //只要数值相等就想等
NSLog(@"相等");
}else{
NSLog(@"不相等");
}
if([intN1 isEqualToValue:intN2]){ //数值和类型都相等才相等
NSLog(@"相等");
}else{
NSLog(@"不相等");
}
//比较两个对象的大小
/*
*/
if ([intN1 compare:intN2] == NSOrderedDescending) {
NSLog(@"<");
} else if ([intN1 compare:intN2] == NSOrderedSame){
NSLog(@"=");
} else{
NSLog(@">");
}
//拆箱
int num1=[intN2 intValue];
float num2=[floatN1 floatValue];
//快速装箱 @()
NSNumber *[email protected](1);
NSLog(@"快速装箱 %@",obj1);
/*
NSString 不可变字符串
*/
//创建字符串(快速创建字符串,只能用于创建不可变的字符串)
NSString *str = @"Hello world";
NSString *str2 = [[NSString alloc]init];
NSString *str3 = [NSString stringWithFormat:@"%c pple",‘a‘];
//把c的字符串转为c的字符串
char *strC = "c string";
NSString *str4 = [NSString stringWithUTF8String:strC];
NSLog(@"%@",str4);
NSString *str5 = [NSString stringWithUTF8String:"ios"];
//oc字符串转为c的字符串
const char *cStr = [str5 UTF8String];
NSString *str7 = @"123456";
//把数字转化为字符串
int number1 = [str7 intValue];
float number2 = [str7 floatValue];
double number3 = [str7 doubleValue];
//如何求字符串长度
NSInteger lenth1=[str7 length];
NSLog(@"str7长度是:%lu",str7.length);
//获取字符串中的字符
char ch = [str7 characterAtIndex:2];
NSLog(@"%c",ch);
//比较两个字符串是否相等
NSString *str8 = @"aaaa11";
NSString *str9 = @"AAAA11";
//比较两个字符串是否相等
BOOL flag1 = [str8 isEqualToString:str9];
if (flag1) {
NSLog(@"相等");
}else{
NSLog(@"不相等");
}
//比较两个字符串的大小 返回-1 0 1
if([str8 compare:str9] == NSOrderedAscending){
NSLog(@"升序");
}else if([str8 compare:str9] == NSOrderedSame){
NSLog(@"相等");
}else{
NSLog(@"降序");
}
//不区分大小写的比较
//[str8 caseInsensitiveCompare:str9];
BOOL flag12 = [str8 caseInsensitiveCompare:str9];
if([str8 caseInsensitiveCompare:str9] == NSOrderedAscending){
NSLog(@"升序");
}else if([str8 caseInsensitiveCompare:str9] == NSOrderedSame){
NSLog(@"相等");
}else{
NSLog(@"降序");
}
//将字符串中大写字母转化为小写字母
NSString *str10 [email protected]"IOS APPLE";
NSLog(@"%@",[str10 lowercaseString]);
//将字符串中小写字母转化成大写字母
NSString *str11 [email protected]"ios apple";
NSLog(@"%@",[str11 uppercaseString]);
//将字符串中首字母大写,其余小写
NSString *[email protected]"apple";
NSLog(@"%@",[str12 capitalizedString]);
//在一个字符串中查找另一个字符串
NSString *[email protected]"apple ios wei";
NSRange range1 = [str13 rangeOfString:@"os"];
if (range1.location == NSNotFound) {
NSLog(@"木有找到");
}else{
NSLog(@"耶、找到了!! 位置:%@",NSStringFromRange(range1));
}
//在一个字符串中截取某部分作为新的字符串
NSString *[email protected]"ilovke677";
//从当前位置截取到末尾
NSString *str15=[str14 substringFromIndex:4];
NSLog(@"%@",str15);
//从开始截取到当前位置
NSString *str16 = [str14 substringToIndex:4];
NSLog(@"%@",str16);
//根据指定的范围查找
NSRange range2=NSMakeRange(2,6);
NSLog(@"%@",[str14 substringWithRange:range2]);
//判断某个字符串是否以某个特定的字符串开头,bool
NSString *[email protected]"lovke lovke";
if ([str17 hasPrefix:@"lo"]) {
NSLog(@"lo 是字符串%@的前缀",str17);
}else{
NSLog(@"%@不是一lo开头",str17);
}
//判断某个字符串是否以某个特定的字符串结尾,bool
if ([str17 hasSuffix:@"ke"]) {
NSLog(@"字符串%@是以ke结尾",str17);
}else{
NSLog(@"%@不是一ke结尾",str17);
}
//遍历字符串
NSString *[email protected]"I lovke nuli study IOS";
for (int i=0; i<str18.length; i++) {
char ch = [str18 characterAtIndex:i];
NSLog(@"字符串第%i个位置的字符为:%c",i+1,ch);
}
//从文件中读取字符串(绝对路径)
NSString *str19=[[NSString alloc]initWithContentsOfFile:@"/Users/jerehedu/Desktop/a.rtf" encoding:NSUTF8StringEncoding error:nil];
NSLog(@"内容:%@",str19);
//读取文件
/*
URL 统一资源定位符,资源路径
协议头://路径
网络资源:http://路径 https://路径
本地资源 file://路径
*/
/*
NSMutableString 可变的字符串
*/
/*
在字符串后面拼接一个字符串
*/
//不可变的字符串,返回一个拼接好的新的字符串接收
NSString *[email protected]"12345678";
NSString *qqEmile=[qqStr stringByAppendingString:@"qq.com"];
NSLog(@"qq邮箱是:%@",qqEmile);
//可变字符串拼接
NSMutableString *qqMutableStr=[NSMutableString stringWithString:qqStr];
[qqMutableStr appendString:@"@qq.com"];
NSLog(@"可变字符串,qq邮箱:%@",qqMutableStr);
//拼接网址
NSString *[email protected]"www.baidu.com";
NSString *[email protected]"image/lovke";
//推荐使用
NSString *baidu=[baidu1 stringByAppendingPathComponent:baidu2];
NSLog(@"%@",baidu);
//1
NSString *baidu_1=[NSString stringWithFormat:@"%@ %@",baidu1,baidu2];
NSLog(@"%@",baidu_1);
//2
NSString *baidu_2=[baidu1 stringByAppendingFormat:@"/%@",baidu2];
NSLog(@"%@",baidu_2);
//网址分割
NSString *[email protected]"hettp://www.baidu.com/images/lovke.gif";
//将字符串按照某个字符串进行分割
//根据 // 分割
NSArray *ary =[jrUrlStr componentsSeparatedByString:@"//"];//分割
NSLog(@"%@",ary);
NSString *jrUrlEnd = [ary lastObject];//最后一项
NSLog(@"%@",jrUrlEnd);
NSArray *ary2=[jrUrlEnd componentsSeparatedByString:@"/"];//分割
NSLog(@"%@",ary2);
NSString *url = [ary2 firstObject];//第一项
NSLog(@"公司命名为:%@",url);
}
NSMutableString *str5=[NSMutableString stringWithFormat:@"lovke keke"];
//在某个字符串的某个位置插入一个字符串(index)】
[str5 insertString:@"123" atIndex:6];
NSLog(@"%@",str5);
[str5 insertString:@"ABC" atIndex:0];
NSLog(@"%@",str5);
NSMutableString *str6=[NSMutableString stringWithFormat:@"lovke keke"];
//替换,用新字符串取替换原有字符串的一部分
[str6 replaceCharactersInRange:NSMakeRange(0, 2) withString:@"IOS"];
NSLog(@"%@",str6);
NSMutableString *str7=[NSMutableString stringWithFormat:@"lovke keke"];
//删除字符串中某个范围的字符串
[str7 deleteCharactersInRange:NSMakeRange(2, 2)];
NSLog(@"%@",str7);
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-12 22:47:34