OC API庫常見之函數

NSString類型html

1.initWithFormat
ios

   - (instancetype)initWithFormat:(NSString *)formatapi

用於返回一個帶有格式控制符的字符串,格式控制符裏的內容被替代.
數組

例子:app

int n = 17;CGFloat m = 99.9;     iphone

//str 是一個地址,  內容存放於堆區ide

        NSString * str = [[NSString alloc]initWithFormat:@"藍鷗%d班的平均成績是:%.2f",n, m ];函數

        NSLog(@"%@", str);NSLog(@"%p", str);編碼

輸出結果:藍鷗17班的平均成績是:99.90spa

2.stringWithFormat

 + (instancetype)stringWithFormat:(NSString *)format

例子:


 NSString * string = [NSString stringWithFormat:@"%d班教室共%d人", 17, 38];

        NSLog(@"%@", string);

結果:17班教室共38人


這個函數出現的頻率很高   ,是一個類方法,返回一個帶有格式控制符的字符串

  • + stringWithFormat:
    類方法,返回一個autorelease的NSString實例,不用手動Release,在自動釋放池中會自動釋放。

  • initWithFormat:
    實例方法,返回一個本身Alloc申請內存的NSString實例,根據OC內存管理黃金法則,管殺管埋,它則須要本身手動Release。

3.length

求一個字符串的長度, 返回值是NSUInteger

例子:

        NSString * str = @"河南17班";

         NSUInteger len = [str length];

         NSLog(@"%lu", len);

打印結果:5


4.stringByAppendingString

- (NSString *)stringByAppendingString:(NSString *)aString  

將兩個字符串拼接,並返回一個新字符串;

例子:

         NSString * str1 = @"河南";

         NSString * str2 = @"藍鷗科技";

         NSString * newstr = [str1 stringByAppendingString:str2];

         NSLog(@"newstr = %@", newstr);

打印結果:

newstr = 河南藍鷗科技

5.stringByAppendingFormat

- (NSString *)stringByAppendingFormat:(NSString *)format 

將原有字符串與給定的字符串拼接,給定字符串帶有格式控制符,返回一個新的字符串

例子:

 int n = 17;

     NSString * str = @"藍鷗";

     NSString * newstr = [str stringByAppendingFormat:@"河南%d班",n];

     NSLog(@"%@", newstr);

打印結果:

藍鷗河南17班

6.substringFromIndex

- (NSString *)substringFromIndex:(NSUInteger)anIndex

從某個位置開始到結束,求子串兒,返回一個新的字符串

例子:

 NSString * str = @"lanoukeji";

    NSString * getstr = [str substringFromIndex:1];

    NSLog(@"%@", getstr);

打印結果:

anoukeji

7.substringToIndex

- (NSString *)substringToIndex:(NSUInteger)anIndex

從開始到某個位置(不包括該位置),求子串兒,返回一個新字符串.

例子:

     NSString * str = @"lanoukeji";

     NSString * newstr = [str substringToIndex:2];

     NSLog(@"%@", newstr);

打印結果:la

8.substringWithRange

- (NSString *)substringWithRange:(NSRange)aRange

根據給的範圍,從原字符串取子串,並返回一個新的字符串

  NSString * str = @"lanoukeji";

    NSRange range = {1,7};   //定義NSRange結構體

    NSString * newstr = [str substringWithRange:range];

    NSString * newstr1 = [str substringWithRange:NSMakeRange(1, 8)];

    NSLog(@"%@", newstr1);

    NSLog(@"%@", newstr);

打印結果:

anoukeji

anoukej

9.componentsSeparatedByString

- (NSArray *)componentsSeparatedByString:(NSString *)separator

 //根據傳入的字符串把原串分割成幾部分,返回一個數組

例子:

    NSString * str = @"WWW.baidu.com.www.sohu.com";

    NSArray * substring = [str componentsSeparatedByString:@"."];

    NSLog(@"%@", substring);

打印結果:

(

    WWW,

    baidu,

    com,

    www,

    sohu,

    com

)

10.rangeOfString

- (NSRange)rangeOfString:(NSString *)aString

求字串在原串的範圍,並返回一個NSRange類型的結構體(起始位置,長度)

例子:

    NSString * str = @"lanoukejilanou";

    NSRange range = [str rangeOfString:@"lanou"];

    NSLog(@"%ld,%ld", range.location,range.length);

打印結果:

0,5

11.stringByReplacingOccurrencesOfString

- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)targetwithString:(NSString *)replacement

會將原串裏的全部出現某字符串替換成新串,返回一個新字符串

例子:

 NSString * str = @"你是個人小呀小蘋果!";

    NSString * newstr = [str stringByReplacingOccurrencesOfString:@"小" withString:@"大"];

    NSLog(@"%@", newstr);

打印結果:

你是個人大呀大蘋果!

12.hasPrefix:

- (BOOL)hasPrefix:(NSString *)aString

判斷原字符串首部和給的字符串是否一致,返回一個BOOL值

例子:

 NSString * str = @"http://www.baidu.com";

    NSString * str1 = @"htp://";

    BOOL a = [str hasPrefix:str1];

    NSLog(@"%@",a ? @"YES" : @"NO");

打印結果:

 NO

13.hasSuffix:

- (BOOL)hasSuffix:(NSString *)aString

 判斷原字符串的末尾和給的字符串是否一致,返回一個BOOL值

  NSString * str = @"http://www.baidu.com";

    NSString * str1 = @".com";

    BOOL a = [str hasSuffix:str1];

    NSLog(@"%@", a ? @"YES" : @"NO");

打印結果:YES

14.isEqualToString

- (BOOL)isEqualToString:(NSString *)aString

比較兩個字符串是否相等,返回一個BOOL值

例子;

 NSString * str = @"呵呵呵";

    NSString * str1 = @"呵呵";

    if ([str isEqualToString:str1]) {

        NSLog(@"相等");

    }

    else NSLog(@"不相等");

打印結果:不相等

15.lowercaseString

例子:

 NSString * str = @"DSADasdAS";

    //返回一個新字符串  ,將全部的大寫變成小寫

    NSString * newstr = [str lowercaseString];

    NSLog(@"%@", newstr);

    //uppercaseString   變成大寫

    NSString * newstr1 = [str uppercaseString];

    NSLog(@"%@", newstr1);

    //capitalizedString   將一段話每一個單詞的首字母變成大寫

    NSString * str3 = @"i love iphone ios";

    NSString * newstr2 = [str3 capitalizedString];

    NSLog(@"%@", newstr2);

打印結果:

 dsadasdas

 DSADASDAS

 I Love Iphone Ios

16.integerValue

字符串轉成基本類型

例子:

  NSString * str1 = @"22";

    NSString * str2 = @"11";

    NSInteger num = [str1 integerValue] + [str2 integerValue];

    NSLog(@"%ld", num);

    NSString * str3 = @"1.2";

    NSString * str4 = @"2.3";

    float a = [str3 floatValue] + [str4 floatValue];

    NSLog(@"%.2f", a);

    BOOL b = [str1 boolValue];

    NSLog(@"%@", b ? @"YES" : @"NO");

打印結果:

2015-01-14 21:48:19.189 OC 一月14號[3233:303] 33

2015-01-14 21:48:19.192 OC 一月14號[3233:303] 3.50

2015-01-14 21:48:19.192 OC 一月14號[3233:303] YES

NSMutableString 類型(繼承自NSString)

建立一個能夠修改內容的字符串(存放於堆區)


17.appendString

在原字符串中拼接

 NSMutableString * string = [NSMutableString stringWithFormat:@"藍鷗"];

    [string appendString:@"科技"]; 

NSLog(@"%@", string);

打印結果:藍鷗科技

18.deleteCharactersInRange: 

- (void)deleteCharactersInRange:(NSRange)aRange

刪除原字符串裏的內容

[string deleteCharactersInRange:NSMakeRange(1, 1)];

    NSLog(@"%@", string);

打印結果:藍科技

19.insertString:atIndex:         

 - (void)insertString:(NSString *)aStringatIndex:(NSUInteger)anIndex

在原字符串指定下標開始添加內容

 [string insertString:@"鷗" atIndex:1];

    NSLog(@"%@", string);

打印結果:藍鷗科技


20.replaceCharactersInRange:

- (void)replaceCharactersInRange:(NSRange)aRangewithString:(NSString *)aString

將原字符串裏指定下標開始,將n個字節替換成給的字符串

    NSMutableString * string1 = [NSMutableString stringWithFormat:@"文藝青年"];

    [string1 replaceCharactersInRange:NSMakeRange(0, 2) withString:@"213"];

    NSLog(@"%@", string1);

打印結果:

213青年

21.setString:

將原字符串的內容設爲..

[string1 setString:@"$$$"];

    NSLog(@"%@", string1);

打印結果:$$$

22.compare: 

- (NSComparisonResult)compare:(NSString *)aString

字符串比較   返回值若爲-1是升序,1是降序

NSString * str1 = @"abc";

    NSString * str2 = @"abd";

    NSComparisonResult result = [str1 compare:str2];

    NSLog(@"%ld", result);

打印結果:-1

NSArray特色

1. 數組裏只能存對象

 2. 經過下標來索引數據

 3. 有序集和

NSArray類型

23.initWithObjects:

建立一個數組,並將對象傳入進去,   nil用來標記字符串結束

 NSArray * array = [[NSArray alloc] initWithObjects:@"A",@"B",@"C",@"D", nil];

    NSLog(@"%@", array);

 類方法 arrayWithObjects

    NSArray * array1 = [NSArray arrayWithObjects:@"張三",@"李四",@"王五", nil];

    NSLog(@"%@", array1);

打印結果:

2015-01-14 22:16:12.364 OC 一月14號[3282:303] (

    A,

    B,

    C,

    D

)

2015-01-14 22:16:12.409 OC 一月14號[3282:303] (  

    "\U5f20\U4e09",

    "\U674e\U56db",

    "\U738b\U4e94"

)

漢字顯示的是編碼

24.objectAtIndex:

- (id)objectAtIndex:(NSUInteger)index

根據下標找出數組中對應的元素

例子;

 NSArray * array = [NSArray arrayWithObjects:@"01", @"水電費", @"11", nil];

    NSArray * str = [array objectAtIndex:1];

    NSLog(@"%@", str);

打印結果:水電費


//****************************重寫description********************************

//重寫從父類繼承過來的description 方法,這個方法用於使用%@打印

//返回什麼樣的字符串,使用%@打印該類對象,就會打出來什麼內容

//***********************************************************************************//

- (NSString *)description

{

   return [NSString stringWithFormat:@"%@ %@ %ld", _name ,_sex, _age];

}

 Person * person = [[Person alloc]initWithName:@"張三" sex:@"男" age:20];

    Person * person1 = [[Person alloc]initWithName:@"李四" sex:@"男" age:20];

    Person * person2 = [[Person alloc]initWithName:@"王六" sex:@"女" age:20];

 //   NSLog(@"%@,%@,%@", person, person1, person2);

    NSArray * array = [NSArray arrayWithObjects:person,person1, person2, nil];

    NSLog(@"%@", array);

    

    Person * per = [array objectAtIndex:1];

    NSLog(@"%@", per);

    //25.得到數組元素的個數

    NSUInteger count = [array count];

    NSLog(@"%lu", count);

//    分別將數組裏的元素()打印出來

    for (int i = 0; i < [array count]; i++) {

        Person * p = [array objectAtIndex:i];

        NSLog(@"%@", p);

       //等價於   NSLog(@"%@", [array objectAtIndex:i]);

    }

    //26.取出第一個或最後個一元素   firstObject

    NSLog(@"%@", [array firstObject]);

    NSLog(@"%@", [array lastObject]);

    //containsObject:

    Person * p = [[Person alloc]initWithName:@"張三" sex:@"男" age:20];

    //  27. 判斷一個對象是否在數組裏,  後面跟具體對象,前面跟數組名  containsObject

    NSLog(@"%@", [array containsObject:person] ? @"YES" : @"NO");

    NSLog(@"%@", [array containsObject:p] ? @"YES" : @"NO");


    //28.找到一個對象在數組裏的下標

    //indexOfObject:

    NSLog(@"%ld", [array indexOfObject:person1]);

    

    //2判斷數組是否相等(對象,順序)

    //isEqualToArray:

    Person * p1 = [[Person alloc]initWithName:@"張三" sex:@"男" age:70];

    Person * p2 = [[Person alloc]initWithName:@"李四" sex:@"男" age:20];

    Person * p3 = [[Person alloc]initWithName:@"王六" sex:@"女" age:20];

    NSArray * array1 = [NSArray arrayWithObjects:p1,p2,p3, nil];

    NSArray * array2 = [NSArray arrayWithObjects:p1,p3,p2, nil];

    NSLog(@"兩個數組是否相等%@", [array1 isEqualToArray:array2] ? @"YES" : @"NO");

打印結果:

2015-01-14 22:25:08.772 OC 一月14號[3315:303] (

    "\U5f20\U4e09 \U7537 20",

    "\U674e\U56db \U7537 20",

    "\U738b\U516d \U5973 20"

)

2015-01-14 22:25:08.774 OC 一月14號[3315:303] 李四 男 20

2015-01-14 22:25:08.775 OC 一月14號[3315:303] 3

2015-01-14 22:25:08.775 OC 一月14號[3315:303] 張三 男 20

2015-01-14 22:25:08.775 OC 一月14號[3315:303] 李四 男 20

2015-01-14 22:25:08.776 OC 一月14號[3315:303] 王六 女 20

2015-01-14 22:25:08.776 OC 一月14號[3315:303] 張三 男 20

2015-01-14 22:25:08.777 OC 一月14號[3315:303] 王六 女 20

2015-01-14 22:25:08.777 OC 一月14號[3315:303] YES

2015-01-14 22:25:08.777 OC 一月14號[3315:303] NO

2015-01-14 22:25:08.778 OC 一月14號[3315:303] 1

2015-01-14 22:25:08.778 OC 一月14號[3315:303] 兩個數組是否相等NO

相關文章
相關標籤/搜索