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);
例子:
//
============================================
5、 //将c語言字元串轉換為oc字元串比如:"ios"
@"ios"
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:
= %@",sstr3,sstr4);
NSOrderedDescending:
> %@",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:@"%@",@"在日本島" ];
//删除某段字元串
appendString:@"吃着炸雞喝着啤酒"];
NSRange rang1 = {1,8};
deleteCharactersInRange:rang1];
NSLog(@"-----%@",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);
//================轉載請注明出處=================