1、oc基本資料類型(簡單鋪墊)
// nsinteger 在64 位下相當于long,在非64位下相當于 int;
// cgfloat 在64位下相當于double 在非64位下相當于 float;
//如何使用api文檔學習系統類庫中類
//help --》documentation and api reference
//快捷鍵 option + 左鍵 cmmand + 左鍵 進入類的頭檔案(嚴重警告:進系統頭檔案之後,退出時一定要按幾次 cmmand + z),看系統頭檔案适合已經對這個類有很大了解的學生
=========================================================
3、// nsstring 是一個字元串類,而且是一個不可變的字元串類,繼承自nsobject ,用nsstring建立的字元對象,一經建立就不能修改;
//類簇:将一些私有的子類組合在一起形成一個公共的抽象的超類,那麼這個超類就是類簇;
//建立一個字元串對象
char *s = "lanou";
nslog(@"%s",s);
//oc中建立字元串
nsstring *str = @"lanou";//快速建立字元串的方法
nslog(@"%@",str);
//建立空字元串
nsstring *str1 = [[nsstring alloc]init];
nslog(@"%@ %p ",str1,str1);
str1 = @"年後";//這種改變隻是指針的重指向
nsstring *str2 = [nsstring string];
nslog(@"==%@",str2);
//建立不可變空字元串是沒有任何意義的
//格式化建立不可變字元串對象
nslog(@"lanou");
nslog(@"lanou%@",@"i love you");
//我 拼接上 愛鳳姐
nslog(@"我%@",@"愛鳳姐");
nsstring *str3 = [[nsstring alloc]initwithformat:@"%@ %@",@"lanou",@"i love you"];
nslog(@"%@",str3);
nsstring *str4 = [[nsstring alloc]initwithformat:@"我%@",@"愛鳳姐" ];
nslog(@"%@",str4);
例子:字元串:@"優衣庫試衣間" ,@"趣事多"
nsstring *str6 =@"優衣庫試衣間";
nsstring *str7 = @"趣事多";
nsstring *str5 = [[nsstring alloc]initwithformat:@"%@%@",str6,str7];
nslog(@"%@",str5);
4、//周遊構造器格式化建立字元串方法
nsstring *str8 = [nsstring stringwithformat:@"我在家裡洗衣覅,%@",@"你在優衣庫買衣服"];
nslog(@"%@",str8);
//建立字元串的另一種方式(現在已經不用了);
nsstring *str9 = [[nsstring alloc]initwithstring:@"我在藍歐37班"];
nsstring *str10 = [nsstring stringwithstring:@"靠 ,我也在藍歐37班"];
nslog(@"%@",str10);
例子:
// ============================================
nsstring *str11 = [[nsstring alloc]initwithutf8string:"ios"];
nslog(@"%@",str11);
nsstring *str12 = [nsstring stringwithutf8string:"ios"];
nslog(@"%@",str12);
6、//頭檔案初始化對象方法
//将檔案中的字元串内容讀入到字元串對象中
//第一個參數:檔案的路徑 第二個參數:編碼格式 第三個參數: 如果出錯了傳回值存放的位置
//初始化方法
nsstring *str13 = [[nsstring alloc]initwithcontentsoffile: @"/users/laouhn/desktop/37-product/lesson/oc/lessonnsstring-04/lesson-04/han.txt"encoding:nsutf8stringencoding error:nil];
nslog(@"%@",str13);
//周遊構造器方法
nsstring *str14 = [nsstring stringwithcontentsoffile:@"/users/laouhn/desktop/37-product/lesson/oc/lessonnsstring-04/lesson-04/han.txt" encoding:nsutf8stringencoding error:nil];
nslog(@"%@",str14);
// ==========================================
7、 //操作字元串的方法
//計算字元串長度的方法
nsstring *ss = @"lanou3g";
nsuinteger len = [ss length];//無符号長整形
nslog(@"%lu",len);
一個中文占三個位元組
nsstring *ss2 = @"翔哥 今天晚上區如家吧?";
nslog(@"%lu",ss2.length);
8、//傳回字元串片段的方法
nsstring *str15 = @"abcdefgdef";
nsrange rang = {3,3};
nsstring *substring = [str15 substringwithrange:rang];
nslog(@"%@",substring);
9、//傳回字串在父串中範圍
rang = [str15 rangeofstring:@"def"];
nslog(@"loctation:%lu length : %lu",rang.location,rang.length);//不是點文法
//擷取到從零位置到某個位置的字元不包含提供位置的字元
nsstring *str16 = [str15 substringtoindex:4];
nslog(@"%@",str16);
//從某個位置開始擷取字元串,直到父串的結尾,包含這個停工未知的字元
nsstring *str17 = [str15 substringfromindex:4];
nslog(@"%@",str17);
//傳回格式化拼接的字元串
nsstring *str20 = [str16 stringbyappendingstring:str17];
nslog(@"%@",str20);
//練習3:把@“cang”後面 拼接上@“是你們的”
nsstring *cangstring = @"cang";
nsstring *newstring = [cangstring stringbyappendingformat:@"%@,%@",@"是你們的",@"不因不均"];
nslog(@"%@",newstring);
nsstring *str18 = [cangstring stringbyappendingstring:@"是世界的"];
nslog(@"%@",str18);
//字元串的替換
//将目标子串從父串中用我們給定的替換掉
nsstring *str19 = [str18 stringbyreplacingoccurrencesofstring:@"cang" withstring:@"波多結衣"];
nslog(@"%@",str19);
nsstring *str21 = @"中國北京中南海";
//判斷字元串是否具有某個字首或者字尾
bool ishas = [str21 hasprefix:@"中國北京"];
nslog(@"%@",ishas ? @"有這個字首":@"沒有這個字首");
bool has = [str21 hassuffix:@"南海"];
nslog(@"%@",has ? @"有這個字尾":@"無這個字尾");
//=============================================
//比較兩個字元串大小
nsstring *sstr3 = @"nba";
nsstring *sstr4 = @"nba";
nsinteger n = [sstr3 compare:sstr4];
switch (n) {
case nsorderedascending:
nslog(@"%@ < %@",sstr3,sstr4);
break;
case nsorderedsame:
nslog(@"%@ = %@",sstr3,sstr4);
case nsordereddescending:
nslog(@"%@ > %@",sstr3,sstr4);
default:
}
//不區分大小寫的比較方式
n = [sstr3 caseinsensitivecompare:sstr4];
nslog(@"%ld",n);
//===================================================
10、 nsmutablestring 是可變字元串 ,繼承自nsstring,是以nsstring 所有的方法nsmutablestring都可以調用
//這種建立字元串的形式可以提高一定的效率,如果存入的字元串小于開辟的虛拟空間長度,則直接放入,免去了開辟空間的時間,如果此時開辟的空間小于要放入字元串的長度,此時就要再開辟空間
nsmutablestring *mstr = [[nsmutablestring alloc]initwithcapacity:30];
//插入一個字元串
[mstr insertstring:@"索甯" atindex:0];
nslog(@"%@",mstr);
//建立可變字元串的另一種形式
nsmutablestring *mstr1 = [[nsmutablestring alloc]initwithstring:@"我和他有一個約會"];
nslog(@"%@",mstr1);
//快速建立字元串,必須在後面加上 .mutablecopy
nsmutablestring *mstr2 = @"我與僵屍有一個約會".mutablecopy;
nslog(@"%@",mstr2);
11、 //可變字元串拼接
//格式化拼接
[mstr2 appendformat:@"%@",@"在日本島" ];
//删除某段字元串
[mstr2 appendstring:@"吃着炸雞喝着啤酒"];
nsrange rang1 = {1,8};
[mstr2 deletecharactersinrange:rang1];
nslog(@"-----%@",mstr2);
//=========================================================
//改可變字元串
[mstr2 replacecharactersinrange:nsmakerange(2, 4)withstring:@"任命廣場"];
//每個單詞的首字母大寫
nsmutablestring *mstr3 = @"i am student come from dancheng".mutablecopy;
nsstring * upfirst = [mstr3 capitalizedstring];
nslog(@"%@",upfirst);
//将所有的字母都大寫
nsstring *upallword = [mstr3 uppercasestring];
nslog(@"%@",upallword);
//将所有字母都小寫
nsmutablestring *mstr4 = @"i am student come from dancheng".mutablecopy;
nsstring *loweallword = [mstr4 lowercasestring];
nslog(@"%@",loweallword);
//================轉載請注明出處=================
轉自:http://blog.csdn.net/qq_31810357