一吗货、 學習查看類的基本信息
1. 繼承自誰
2. 遵循什么協(xié)議
3. 屬于什么框架
4. 從iOS哪個版本開始支持
二宙搬、 字符串類
1. NSString:不可變字符串
對象創(chuàng)建賦值以后,內(nèi)容和長度不能動態(tài)更改
2. NSMutableString:可變字符串
該類創(chuàng)建的字符串是一個動態(tài)的可變的字符串勇垛,可以支持增刪改查等動態(tài)的操作
3. 聯(lián)系
1) NSMutableString是NSString的子類闲孤,繼承的到所有方法
2) 不可變字符串的修改操作,本質(zhì)就是得到一個新的字符串
3) 不可變字符串的修改方法以string開頭讼积,有返回值
4) 可變字符串的修改方法沒有返回值,修改原字符串
三勤众、 字符串常用方法
1. 創(chuàng)建一個字符創(chuàng)常量
2. 快速創(chuàng)建一個字符串
3. 創(chuàng)建一個格式化的字符串
4. 字符串的比較
5. 字符串的轉(zhuǎn)換
6. 字符串的截取與拼接
NSMutableString方法
7. 增
8. 刪
9. 改
10.查
四、NSNumber,數(shù)值對象
用于將基本數(shù)據(jù)類型封裝為對象
三吕朵、數(shù)組類
1. 特點
1)容器類窥突,管理一組對象類型的數(shù)據(jù)
2)數(shù)組中元素是有序的,索引值從0開始
3) 數(shù)組中存儲的元素必須是對象茅坛,類型任意
2. 分為可變數(shù)組與不可變數(shù)組
四、數(shù)組常用方法
1. 數(shù)組對象的創(chuàng)建
2. 獲取數(shù)組中的元素個數(shù)以及訪問數(shù)組元素
3. 追加數(shù)組中的內(nèi)容
4. 數(shù)組轉(zhuǎn)字符串
5. 判斷數(shù)組中是否存在一個指定的對象
6. 根據(jù)指定的對象返回索引下標曹鸠、返回數(shù)組中最后一個元素
不可變數(shù)組
7. 新增
8. 插入
9. 刪除最后一個元素
10. 刪除指定的元素
11. 刪除指定位置的元素
12. 批量刪除
13. 替換元素
------------------NSString(不可變字符串)----------------
///////// 創(chuàng)建一個字符創(chuàng)常量
? ? ? ? NSString *string1 = @"you need cry,dear";
? ? ? ? NSLog(@"string1:%@\n",string1);
? ? ? ? //創(chuàng)建一個空的字符串
? ? ? ? NSString *string2 = [[NSString alloc]init];
? ? ? ? NSString *string3 = [NSString string];
? ? ? ? NSLog(@"string2:%@",string2);
? ? ? ?NSLog(@"string3:%@",string3);
///////////快速創(chuàng)建一個字符串 常量區(qū)(NSString)
? ? ? ? NSString *string4 = [[NSString alloc] initWithString:@"有你的快遞斥铺,dear"];
? ? ? ? NSString *string5 = [NSString stringWithString:@"有你的快遞,dear"];
? ? ? ? NSLog(@"string4 : %@", string4);
? ? ? ? NSLog(@"string5 : %@", string5);
//////////////// ?創(chuàng)建一個格式化的字符串 堆區(qū)
? ? ? ? NSString *string6 = [[NSString alloc]initWithFormat:@"整數(shù):%d",88];
? ? ? ? NSString *string7 = [[NSString alloc]initWithFormat:@"浮點數(shù):%f",88.8];
? ? ? ? NSLog(@"string6 : %@", string6);
? ? ? ? NSLog(@"string7 : %@", string7);
///////////////////// 字符串的比較
//比較內(nèi)容是否相等
? ? ? ? NSString *string8 = [NSString stringWithFormat:@"you need cry,dear"];
? ? ? ? NSString *string9 = [NSString stringWithFormat:@"有你的快遞邻眷,dear"];
? ? ? ? if ([string8 isEqualToString:string9]) {
? ? ? ? ? ? NSLog(@"相同的內(nèi)容");
? ? ? ? }else{
? ? ? ? ? ? NSLog(@"不同的內(nèi)容");
? ? ? ? }
//比較字符串是否為一個對象,也就是說在比較這兩個字符串是否在同一塊內(nèi)存地址內(nèi)肆饶。
? ? ? ?NSString *string10 = [[NSString alloc]initWithFormat:@"b"];
? ? ? ? NSString *string11 = [[NSString alloc]initWithFormat:@"b"];
? ? ? ? if (string10 == string11) {
? ? ? ? ? ?NSLog(@"這兩個字符串是同一個對象岖常,也就是說這兩個字符串兩個在同一塊內(nèi)存內(nèi)");
? ? ? ? }else{
? ? ? ? ? ? NSLog(@"這兩個字符串不是同一個對象,也就是說這兩個字符串不在同一塊內(nèi)存內(nèi)");
? ? ? ?}
//比較字符串的大小
string10小于string11,result=-1,
string10等于string11,result=0,
string10大于string11,result=1
? ? ? ? NSComparisonResult result = [string10 caseInsensitiveCompare:string11];
? ? ? ? NSLog(@"result : %ld\n",result);
? ? ? ? //求字符串的長度
? ? ? ? NSLog(@"字符串11的長度=%ld",[string11 length]);
/////////////////////// 字符串的轉(zhuǎn)換
? ? ? ?NSString *string12 = @"HELLOW world";
? ? ? ? //將字母全部轉(zhuǎn)為大寫
? ? ? ? NSLog(@"upper : %@\n",[string12 uppercaseString]);
? ? ? ? //將字母全部轉(zhuǎn)為小寫
? ? ? ? NSLog(@"lower : %@\n",[string12 lowercaseString]);
? ? ? ?//每個單詞首字母轉(zhuǎn)化為大寫板惑,其余字母轉(zhuǎn)換為小寫)
? ? ? ? NSLog(@"capital : %@\n",[string12 capitalizedString]);
? ? ? ?//轉(zhuǎn)化為基本數(shù)據(jù)類型
? ? ? ? NSString *string13 = @"3.1";
? ? ? ? float pi = [string13 floatValue];
? ? ? ?NSLog(@"pi : %0.2f\n",pi);
? ? ? ?//字符串轉(zhuǎn)換成數(shù)組
? ? ? ? NSString *string14 = @"wasd qwer";
? ? ? ? NSArray *array = [string14 componentsSeparatedByString:@" "];
? ? ? ? NSLog(@"array : %@",array);
//////////////////// 字符串的截取與拼接
// 截取字符串
? ? ? ? NSString *string15 = @"wasdqwer";
? ? ? ? NSString *subString1 = [string15 substringFromIndex:4];//從第三個索引開始(包括第三個索引對應的字符)截取到最后一位
/ ? ? ?NSLog(@"subString1 : %@",subString1);
? ? ? ? NSString *subString2 = [string15 substringToIndex:4];//從0開始截取到第三個索引(不包括第三個索引對應的字符)
? ? ? ?NSLog(@"subString2 : %@",subString2);
? ? ? ? NSRange range = {0,4};
? ? ? ? NSString *subString3 = [string15 substringWithRange:range];
? ? ? ? NSLog(@"subString3 : %@",subString3);
? ? ? ? //字符串的拼接
? ? ? ? NSString *string16 = @"abc";
? ? ? ? NSString *string17 = @"xyz";
? ? ? ? NSString *appString1 = [[NSString alloc]initWithFormat:@"%@%@",string16,string17];
? ? ? ? NSString *appString2 = [string16 stringByAppendingFormat:@"%@",string17];
? ? ? ? ? ? ? ? NSString *appString3 = [string16 stringByAppendingString:string17];
? ? ? ? NSLog(@"appString1 : %@",appString1);
? ? ? ? NSLog(@"appString2 : %@",appString2);
? ? ? ? NSLog(@"appString3 : %@",appString3);
? ? ? ? //查找字符串
? ? ? ? NSString *link = @"abcdeftarget=_blankxyz";
? ? ? ? NSRange range1 = [link rangeOfString:@"target=_blank"];
? ? ? ?if (range1.location != NSNotFound) {
? ? ? ? ? ? NSLog(@"發(fā)現(xiàn)我要找的字符串");
? ? ? ? }
------------NSMutableString(可變字符串)------------
//PS: 之前對NSString(不可變字符串)做的所有操作咱們都是對整個字符串做的處理冯乘,無法對單個字符串進行增刪改查的操作∩辜校現(xiàn)在咱們使用NSMutableString(可變字符串)進行增刪改查
///////////////////// 增
NSMutableString *multableString1 = [[NSMutableString alloc]initWithString:@"abc"];
//插入一個字符串
[multableString1 insertString:@"...xyz" atIndex:3];
[multableString1 appendString:@"你好"];
NSLog(@"mutableString1 = %@",multableString1 );
/////////////////// 刪
//刪除字符串
[multableString1 deleteCharactersInRange:NSMakeRange(0, 3)];
NSLog(@"mutableString1 = %@",multableString1 );
///////////////////// 改
//修改字符串中的某一部分
[multableString1 replaceCharactersInRange:NSMakeRange(0,3) withString:@"??"];
NSLog(@"mutableString1 = %@",multableString1 );
//////////////////// 查
//查找某一個字符串
NSRange rangeOfheart =? ? [multableString1 rangeOfString:@"??"];
if (rangeOfheart.location != NSNotFound) {
NSLog(@"找到你的心了");
}
//在C語言階段咱們定義一個字符串變量的格式如下:
char *cString; // char是字符的數(shù)據(jù)類型丐怯,cString是變量名,*是指針,在這里他起到的作用是棕孙,代表cString是一個字符串變量
//在OC階段定義一個字符串變量的格式是一樣的
NSString *ocString; //然而此時NSString在OC中不再叫做數(shù)據(jù)類型,而是叫做類钦铺,ocString也不再叫做變量名而是叫做對象肢预。*此時還是指針,代表聲明的這個對象是是NSString類型。