zoukankan      html  css  js  c++  java
  • 类库

    Foundation 库

    1.如何创建

    2.如何使用

    3.有哪些属性和方法

    可变字符串(NSMutableString)

    不可变字符串(NSString)创建之后就不能删改

    1、创建字符串

      1.静态 alloc new copy mutablecopy 

      NSString *str = @"hello world";

      2.alloc 空字符串对象

      NSString *str2 = [[[NSString alloc]init]autorelease];

      3.alloc 有初始值

      NSString *str3 = [[[NSString alloc]initWIthString:str]autorelease];

      不要自己控制内存 工厂方法,便利器方法

      NSString *str3_1 = [NSString stringWithString:str];

      NSLog (@"%@",str31);

      4,字符串按照一定的格式拼接 int agr = 20 height = 170

      NSString *str4 = [[[NSString alloc]initWithFormat:@"age= %d height = %d",age,height]autorelease]

    2.length获取长度

    NSUInteger length = str.length;

    3.获取字符串

    a.substringFromIndex:

    b.substringToIndex:

    c.substringWithRange:

    typedef stuct _NSRange{

      NSUInteger location;

      NSUInteger length;

    }NSRange;

    NSRange range = NSMakeRange(4,8);

    4,字符串比较 

    a.isEqualToString:

    b.compare:

    typedef enum{

    NSOrderedAscending = -1,

    NSOrderedSame,

    NSOrderedDescending

    }NSComparisonResult;

    5.字符串的查找

    a.hasPrefix

    b,hasSuffix

    c.rangeOfString:

    6.字符串转化为相应的数据类型

    a.intValue

    b.boolValue

    NSString *priceStr = @"33.4";

    float price =[priceStr floatValue];

    7.数字转换为字符串

    int temp= 20;

    NSString *tempStr = [NSString stringWithFormat:@"this costs $%d",temp];

    可变字符串(NSMutableString)

    @interface NSMutableString:NSString{

    }

    1.创建可变字符串

      NSMutableString *mstr2 = [NSMutableSring stringWithCapacity:0];

      NSMutableString *mstr = [NSMutableString alloc]initWIthCapacity];

    2.追加字符串

      [mStr appendString:@"四大名著"];

      [mStr apperndFormat:@"%d大名著",num];

    3,在某个位置插入一个字符串

      [mStr inserString:@"《"atIndex:0];

      [mStr inserString:@"》"atIndex:mStr.length];

    4,字符串的替换

      NSRange rge = [mStr rangeOfString:@"四大名著"];

      [mStr replaceCharactersInRange:rge withString:@"三个火枪手"];

    5.删除一个字符串

      NSRange yge = [mStr rangeOfString :@"压抑"];

      [mStr deleteCharactersInRange:yge];

    6,重新设置字符串内容

      [mStr setString:@"西游记"];

    二、NSSArray  

    不可变数组 NSArray

    C语言的数组里面只能存放同一种基本数据类型

    OC的数组可以存放多种类型的数据(必须是对象类型,不能存放简单的数据类型)

    注意:我们在实际编程过程中,尽量在一个数组里面存放同一种类型

    1.创建一个数组

      NSArray *array = @[@"yql",xw,zs,hz];

      NSArray *array2 = @[array,@"zp",@"yql"];

    //创建一个空的数组

    NSArray *array3 = [NSArray array];

    NSArray *array4 = [[NSArray alloc]init];

    NSArray *array5 = [NSArray arrayWithArray:array];

    NSArray *array6 = [[NSArray alloc]initWithArray:array];

    NSArray *array7 = [NSArray arrayWithObject:xw];

    创建的时候初始化一部分数据

    数据结尾为nil不能向数组里面添加一个值为nil的对象

    NSArray array8 = [NSArray arrayWithObjects:xw,zs,nil];

    NSArray *array8_1 = [[NSArray alloc]initWithObjects :xw,zs,nil];

    NSLog(@"...%@",array8);

    2.获取数组元素的个数count 

    NSLog (@"the count of array8 is %d",[array8 count ];

    3.获取索引位置对应的元素(对象)

    访问数组里面的某个元素 使用索引值访问index

    Person *temp = [array8 objectAtIndex:0];

    获取数组里面的最后一个元素

    Person *temp2 = [array8 lastObject];

    Person *temp3 = [array8 firstObjecr];

    4,遍历数组

    for (int i = 0;i<array8.count;i++){
    NSLog(@"%@",[array8 objectAtIndex:i]);

    使用快循环

    for (Person *p in array8){

    NSLog(@"%@",p);

    }

    5,判断数组里面是否包含某一个对象

    if([array8 containObject:@"yangqinglong"]{
    NSLog(@"yes");

    }else{

    NSLog(@"no");

    }
    6.获取某个对象在数组里面的索引值

    NSInteger index = [array8 indexOfObject:@"yangqinglong"];

    NSMutableArray 可变数组

    1.创建

    NSMutableArray *mArray = [NSMutableArray arrayWithCapacity:3];

    2.增加addObject

    [mArray addObject :xw];

    [mArray addObject:zs];

    3.插入元素 insertObjectAtIndex:

    [mArray insetObject:array5 atIndex:0];

    4.删除元素

    [mArray removeObject:xw];

    [mArray removeObjectAtIndex:0];

    删除所有

    [mArray removeAllIndex:0];

    5,交换元素的位置

    [mArray exchangeObjectAtIndex:0 withObjectAtIndex:1]

  • 相关阅读:
    hdu 5007 水题 (2014西安网赛A题)
    hdu 1698 线段树(成段替换 区间求和)
    poj 3468 线段树 成段增减 区间求和
    hdu 2795 公告板 (单点最值)
    UVaLive 6833 Miscalculation (表达式计算)
    UVaLive 6832 Bit String Reordering (模拟)
    CodeForces 124C Prime Permutation (数论+贪心)
    SPOJ BALNUM (数位DP)
    CodeForces 628D Magic Numbers (数位DP)
    POJ 3252 Round Numbers (数位DP)
  • 原文地址:https://www.cnblogs.com/yangqinglong/p/5071286.html
Copyright © 2011-2022 走看看