Object-C 语法 字符串 数组 字典 和常用函数 学习笔记

时间:2022-10-08 14:32:30

字符串

   //取子字符串
NSString *str1=@"今天的猪肉真贵,200块一斤"; NSString *sub1=[str1 substringFromIndex:4];
NSLog(@"%@",sub1);//肉真贵,200块一斤 //区间
NSRange ran=NSMakeRange(3, 2); NSString *sub2=[str1 substringWithRange:ran];
NSLog(@"%@",sub2);//猪肉 //字符串拼接
NSString *str3=@"进能越塔送人头";
NSString *str4=@"退可挂机骂队友";
NSString *newStr=[str3 stringByAppendingString:str4]; NSLog(@"拼接的结果是%@",newStr);
//字符串替换
NSString *str5=@"iPhone6";
NSString *newstr1=[str5 stringByReplacingOccurrencesOfString:@"6" withString:@"7"];
NSLog(@"%@",newstr1);
//区间替换
NSString *newstr2=[str5 stringByReplacingCharactersInRange:NSMakeRange(1, 2) withString:@"66"];
NSLog(@"%@",newstr2); //大小写
NSString *str6=@"diaozhatian";
NSString *newstr3=[str6 uppercaseString];
NSLog(@"%@",newstr3);
newstr3=[newstr3 lowercaseString];
NSLog(@"%@",newstr3); //判断开头和结尾
NSString *webStr=@"www.jizhousoft.com";
//判断开头
BOOL r1=[webStr hasPrefix:@"www"];
NSLog(@"%d",r1);//1
//判断结尾
BOOL r2=[webStr hasSuffix:@"com"];
NSLog(@"%d",r2);//1 //是否包含
NSString *str7=@"我赵日天服了!";
BOOL r3=[str7 containsString:@"日"];
if (r3) {
NSLog(@"请文明聊天.");
NSString *new3=[str7 stringByReplacingOccurrencesOfString:@"日" withString:@"*"];
NSLog(@"%@",new3);
}else {
NSLog(@"真乖!");
}
//可变字符串 相当于 C#的 StringBuilder
NSMutableString *mStr=[NSMutableString string];
//初始化为空
// NSMutableString *mStr1=[[NSMutableString alloc] initWithCapacity:1];
[mStr appendString:@"1111"];
[mStr appendString:@"2222"];
[mStr insertString:@"666" atIndex:3];
NSLog(@"%@",mStr);
[mStr deleteCharactersInRange:NSMakeRange(3, 3)]; NSLog(@"%@",mStr);

数组

  //不可变数组
NSArray *arr1=[NSArray arrayWithObjects:@"孙悟空",@"八戒",@"和尚",@"小白龙", nil];
//字面量
NSArray *arr2=@[@"孙悟空",@"八戒",@"和尚",@"小白龙"];
//数组长度
NSInteger count=[arr1 count];
NSLog(@"%ld",count); NSLog(@"%ld",[arr2 count]);
//数组中获取元素
NSString *str=[arr2 objectAtIndex:2];
NSLog(@"%@",str);
//第一个 最后一个
str=[arr2 firstObject];
NSLog(@"%@",str);
str=[arr2 lastObject];
NSLog(@"%@",str);
NSInteger indexof=[arr2 indexOfObject:@"小白龙"];
NSLog(@"%ld",indexof); //是否包含
BOOL r1=[arr1 containsObject:@"小白龙"];
NSLog(@"%d",r1);//1 //字符串分割成数组
NSString *str2=@"我勒,个,去";
NSArray *arr3=[str2 componentsSeparatedByString:@","];
NSLog(@"%@",arr3); //数组拼接成字符串
NSArray *arr4=@[@"123",@"456",@"789",@"147"];
// NSArray *arr4=[NSArray arrayWithObjects: @"123",@"456",@"789",@"147",nil]; NSLog(@"%@",[arr4 componentsJoinedByString:
@""]); //可变数组
NSMutableArray *mArr=[NSMutableArray array]; [mArr insertObject:@"张三" atIndex:0];
[mArr addObject:@"林黛玉"];
[mArr addObject:@"李四"];
for (int i=0; i<[mArr count]; i++) {
NSLog(@"%@",[mArr objectAtIndex:i]);
} // [mArr removeObjectAtIndex:0];
// [mArr removeObject:@"林黛玉"];
// for (int i=0; i<[mArr count]; i++) {
// NSLog(@"%@",[mArr objectAtIndex:i]);
// }
//数组换位
[mArr exchangeObjectAtIndex:0 withObjectAtIndex:1];
//替换
[mArr replaceObjectAtIndex:0 withObject:@"王五"];
for (int i=0; i<[mArr count]; i++) {
NSLog(@"%@",[mArr objectAtIndex:i]);
}

字典

int main(int argc, const char * argv[]) {
// insert code here...
//不可变字典
NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys:
@"哈士奇",@"h",
@"柯基",@"k",
@"金毛",@"j",
nil];
NSDictionary *dic1=@{@"哈士奇":@"h",
@"柯基":@"k",
@"金毛":@"j"};
//获取字典中的元素
NSString *str=[dic1 objectForKey:@"k"];
//统计个数
NSLog(@"%ld",[dic count]); //获取所有key
NSArray *arr=[dic1 allKeys]; //获取所有Value
NSArray *arrValue=[dic allValues]; //可变字典 NSMutableDictionary *mDic=[NSMutableDictionary dictionary];
[mDic setObject:@"琴女" forKey:@"q"];
[mDic setObject:@"盲僧" forKey:@"m"];
[mDic setObject:@"螳螂" forKey:@"t"];
[mDic setObject:@"淘宝" forKey:@"t"]; //移除t
[mDic removeObjectForKey:@"t"]; for (NSString *item in [mDic allValues]) {
NSLog(@"%@",item);
} return 0;
}

集合

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
//不可变集合
NSSet *set1=[NSSet setWithObjects:@"aa",@"22",@"dd",@"gg", nil];
//集合没有顺序.只能随机读取 而且会自动去除重复
NSLog(@"%@",set1);
//获取集合中的元素 NSLog(@"%@",[set1 anyObject]);//随机元素 //可变集合
NSMutableSet *mSet=[NSMutableSet set];
[mSet addObject:@"111"];
[mSet addObject:@"222"];
[mSet addObject:@"222"];
[mSet addObject:@"333"];
[mSet addObject:@"55"];
NSLog(@"%ld",[mSet count]);//4 去除了重复
//移除
[mSet removeObject:@"111"];
NSLog(@"%ld",[mSet count]); //计数集合
NSCountedSet *cSet=[NSCountedSet set];
[cSet addObject:@"222"];
[cSet addObject:@"222"];
[cSet addObject:@"333"];
[cSet addObject:@"333"];
[cSet addObject:@"222"];
[cSet addObject:@"111"];
[cSet addObject:@"222"];
NSLog(@"%ld",[cSet countForObject:@"222"]);//4 统计了次数 NSLog(@"%ld",[cSet count]);//3 依然去除了重复 int a=10;
int b=12;
//将基本数据类型存入数组
//先转换为引用类型 字符串
NSString *astr=[NSString stringWithFormat:@"%d",a];
NSString *bstr=[NSString stringWithFormat:@"%d",b];
//再存入数组中
NSArray *array=[NSArray arrayWithObjects:astr,bstr, nil]; //或者转换为 NSNumber
float f1=9.44;
NSNumber *n1=[NSNumber numberWithFloat:f1];
//存入数组
NSArray *array1=@[n1];
//从数组中取出
NSNumber *resultNumber=array1[0];
//读取时转换
float resultFloat=[resultNumber floatValue];
NSLog(@"%f",resultFloat); return 0;
}

视频学习地址: https://ke.qq.com/webcourse/index.html#course_id=169598&term_id=100198033&taid=833404044220030&vid=e14148936nh