OC--第四讲

1.Declared  in声明在什么头文件里
   inherits from 继承自
   Conforms to 遵循什么协议
   Framework   属于哪个框架
   Availability    什么时候可用的
   Related  documents 相关文档
   Sample   code  示例代码
2.NSString  不可变的字符串类,NSString对象创建以后,内容和长度不能够更改
hasPrefix 比对前缀
hasSuffix 比对后缀
isEqualToString 是否相等



(NSRange)rangeOfString:(NSString *)aString; 搜索字符串的范围
     // 搜索字符串的范围   //   NSString  *sourceStr = @" 蓝欧科技有限公司 "; //    NSRange range = [sourceStr rangeOfString:@" 蓝欧 "]; //    NSLog(@"%lu,%lu",range.location,range.length);



(NSString *)substringWithRange:(NSRange)range; 截取字符串
     // 截取字符串     NSString   *subStr = @" 蓝欧科技有限公司 " ;    NSRange range = { 0 , 4 };    NSString *substring1 = [subStr substringFromIndex : 3 ];    NSString *substring2 = [subStr substringToIndex : 6 ];    NSString *substring = [subStr substringWithRange :range];    NSLog ( @"%@" ,substring1);    NSLog ( @"%@" ,substring2);    NSLog ( @"%@" ,substring);
//拼接字符串
 (NSString*)stringByAppendingString:(NSString*)aString;
     // 拼接字符串     NSString *str1 = @" 北京 " ;    NSString *str2 = @" 欢迎你 " ;    NSString *str4 = @" 啊啊啊啊!!! " ;    NSString *str3 = [str1 stringByAppendingString :str2];    NSString *str5 = [str1 stringByAppendingFormat : @"%@%@" ,str2,str4];    NSLog ( @"%@" ,str3);    NSLog ( @"%@" ,str5);    return 0 ; }
   // 字符串替换     NSString *str1 = @" 北京欢迎你啊啊啊啊!!! " ;    NSRange range = [str1 rangeOfString : @" 北京 " ];    NSString *newStr = [str1 stringByReplacingCharactersInRange :range withString : @" 蓝欧 " ];    NSLog ( @"%@" ,newStr);
     // 字符串与数值类型转换     int number  = 3 ;    NSString *numberstr = [[NSString alloc]initWithFormat:@"%d",number ];    NSLog(@"number = %@",numberstr);       NSString *numStr = @"9";    int num = [numStr intValue];    NSLog(@"num = %d",num);
// 大小写转换
    NSString *str = @"AbCdEfG";    NSString *newStr = [str uppercaseString];// 把小写变大写     NSString *newStr1 = [str lowercaseString];// 把大写变成小写     NSLog(@"%@,%@",newStr,newStr1);            NSString *newStr2 = [str capitalizedString];// 首字母大写,其余小写
    NSLog(@"%@",newStr2);
  // 字符串比较     NSString *str1 = @"text" ;    NSString *str2 = @"rest" ;    int result = [str1 compare :str2]; //str1-str2     NSLog ( @"%d" ,result);

3.//NSMutableString的用法

    NSMutableString *str = [[ NSMutableString alloc ] initWithCapacity : 10 ];    [str setString : @"121325943132681324523170" ];    NSLog ( @"%@" ,str);        NSRange range = { 0 , 24 };    NSUInteger textNumber = [str replaceOccurrencesOfString : @"132" withString : @"text" options : 4 range :range]; // text 替换 132 rangge 范围内     NSLog ( @"%lu,%@" ,textNumber,str);



    NSMutableString *str1 = [[ NSMutableString alloc ] initWithCapacity : 10 ];
    [str1 setString : @" 测试字符串 123" ]; // 初始化方法 1     NSMutableString *str2 = [[ NSMutableString alloc ] initWithFormat : @" 测试字符串 " ]; // 初始化方法 2         [str1 appendString : @" 测试字符串 " ]; // 拼接字符串     [str1 insertString : @"irougo" atIndex : 5 ]; // 可变字符串插入字符串     NSRange range = { 0 , 4 };    [str1 deleteCharactersInRange :range]; // 删除字符串     NSLog ( @"%@" ,str1);


4.NSArray  不可变数组类    容器类,管理的事一组对象类型的数据
  数组的第一个索引是0,有序的。
  数组中存储的元素必须是对象,类型任意;
  1)
      // 不可变数组
    NSArray *array = [[ NSArray alloc ] initWithObjects : @"1243" , @"3454r56" , nil ]; // 初始化方法 1 (对象实例化方法)     NSArray *array1 = [ NSArray arrayWithArray :array]; // 初始化方法 2 (便利构造器)     NSInteger count = [array count ]; // 求数组中元素的个数     NSLog ( @"%lu" ,count);    NSInteger num = [array indexOfObject : @"1243" ]; // 根据元素找对应索引     NSLog ( @"%lu" ,num);    for ( int i = 0 ; i<count; i++) {        id object = [array objectAtIndex :i]; // 根据索引找对应的元素         NSLog ( @"%@" ,object);    }
   2)
       // 可变的数组 NSMutableArray
    NSMutableArray *array = [[ NSMutableArray alloc ] initWithCapacity : 5 ];    // 添加元素     [array addObject : @"wo sakjf df" ];    [array addObject : @"sdgjl;dk" ];    [array addObject : @"sdgjl;dk" ];    [array addObject : @"sdgjl;dk" ];    [array addObject : @"sdgjl;dk" ];    [array addObject : @"sdgjl;dk" ];    [array addObject : @"sdgjl;dk" ];    // 可变数组插入元素     [array insertObject : @" 蓝欧 " atIndex : 0 ];    // 删除元素 //    [array removeObject:@" 蓝欧 "]; //    [array removeObjectAtIndex:1]; //    [array removeObjectIdenticalTo:@"sdgjl;dk"];// 删除和他相同的所有的元素     // 替换元素     [array replaceObjectAtIndex : 1 withObject : @"sdhfdmjhvkdbdjvbbv" ];    // 交换元素     [array exchangeObjectAtIndex : 0 withObjectAtIndex : 1 ];        NSLog ( @"%@" ,array);
5.     //NSNumber 数值类     char ch = 'A' ;    NSNumber *num = [[ NSNumber alloc ] initWithChar :ch];    char c = [num charValue ];    NSLog ( @"%c" ,c);    NSLog ( @"%@" ,num);
总结:
1.可变对象通常是不可变对象的子类,包含父类所有的方法,并具有增删改的功能
2.可变对象的增删改都是对自身的操作。不可变对象的增删改都会生成新的对象,原对象不变。
3.数组只能存储对象类型的数据,有序,考小标检索对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值