Object_C 回顾 0.1.1 数据类型

来源:互联网 发布:股票k线数据如何获得? 编辑:程序博客网 时间:2024/04/30 04:18

 NSString //字符串        NSInteger//长整形(64位下)         CGFloat//实型

NSStringAndNSMutableString 字符串对象

NSArrayAndNSmutableArray 数组

NSNumber  数值对象类 (区别于NSInteger 基本数据类型)

NSValue 结构体

NSDictionaryAndNSMutableDictionary 字典型数据

NSSetAndNSMutableSet 集合


1)NSStringAndNSMutableString 

        创建字符串对象

        initWithString 相当于直接赋值常量字符串对象

        NSString *str1 = @"张三";

        //stringWithString :相当于直接赋值

        NSString*str2 =@"李四";//

        NSString *str2 =[NSString stringWithString:@""]

        initWithFormat :通过传入格式化字符串进行字符串对象的创建

        NSString *str3 = [[NSString alloc]initWithFormat:@"常量字符串 %@ %d %f",@"iPhone",6,6089.00];

        NSLog(@"%@",str3);        

        //stringWithFormat :其实内部封装了 alloc 以及 initWithFormat :操作

        NSString *str4 = [NSStringstringWithFormat:@"通过便利构造器创建字符串"];

        NSLog(@"%@",str4);

        //initWithUTF8String :C语言的字符串转化成 OC 字符串对象

        NSString *str5 = [[NSStringalloc]initWithUTF8String:"我是一个C语言字符串,不加@"];

        NSLog(@"%@",str5);

        //

        NSString *str6 = [NSStringstringWithUTF8String:"哔了狗了,通过便利构造器的方法将C语言转化为OC字符串"];

        NSLog(@"%@",str6);

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

        NSLog(@"%@",str);

        

        //1.替换将所有符合条件的字符串进行替换

        NSString *replaceStr =[strstringByReplacingOccurrencesOfString:@"baidu"withString:@"lanxiang"];

        NSLog(@"%@",replaceStr);

        

        //2.拼接

        NSString *appendStr = [strstringByAppendingFormat:@".cn"];

        NSLog(@"%@",appendStr);

        

        //3.长度

        NSUInteger length = [strlength];

        NSLog(@"length = %lu",length);

        

        //4 大小写转换

        NSString *upperStr = [struppercaseString];

        NSLog(@"%@",upperStr);

        NSString *lowerStr = [upperStrlowercaseString];

        NSLog(@"%@",lowerStr);

        //首字母大写

        NSString *capital = [strcapitalizedString];

        NSLog(@"%@",capital);

        //5.判断开头结尾一般用来判断字符串的格式

        BOOL isPerFix = [strhasPrefix:@"ftp"];

        NSLog(@"%d",isPerFix);

        BOOL isSufFix = [strhasSuffix:@".com"];

        NSLog(@"%d",isSufFix);

        6.字符串截取

        substringFromIndex : 从给定位置开始截取大字符串结束(包括当前位置)

        substringToIndex : 从开头截取到指定位置 (不包括当前位置)

        substringWithRange : 通过给定范围进行字符串的截取

        系统给我们提供了快速创建结构体的方式 NSMake + 结构体名 (例如 NSRange NSMakeRange(1,10);)

        NSString *subStr1 = [str substringFromIndex:3];

        NSLog(@"%@",subStr1);

        

        NSString *subStr2 = [str substringToIndex:3];

        NSLog(@"%@",subStr2);

        

        NSString *subStr3 = [str substringWithRange:NSMakeRange(11,7)];

        NSLog(@"%@",subStr3);

        

        判断相等

        

        NSString *str2 = [NSString stringWithFormat:@"aa"];

        NSString *str3 = [NSStringstringWithFormat:@"aa"];

        

        BOOL isEqual =[str2isEqualToString:str3];

        NSLog(@"%d",isEqual);

    

        //比较

        NSInteger result = [str2compare:str3];

        NSLog(@"result = %ld",result);

1.1NSMutableString可变字符串 NSString的子类增添了NSString 的可变的功能


        NSMutableString *xiaoMing  = [[NSMutableString alloc ]initWithFormat:@"xiaoMing love wifi"];

        

        //

        //拼接

        [xiaoMing appendFormat:@" xiaoHong"];

        NSLog(@"%@",xiaoMing);

        

        //插入

        [xiaoMing insertString:@"and "atIndex:17];

        NSLog(@"%@",xiaoMing);

        //可变子类不要轻易调用父类不可变的方法

        

        //

        //删除

        [xiaoMing deleteCharactersInRange:NSMakeRange(12,8)];

        NSLog(@"%@",xiaoMing);

        

        //替换

        [xiaoMing replaceCharactersInRange:NSMakeRange(12,10)withString:@"wifi"];

        NSLog(@"%@",xiaoMing);

        

        //

        [xiaoMing setString:@"xiaoMing and xiaoHong live happily forever"];

        NSLog(@"%@",xiaoMing);

//判断字符串@"aBcD_EfGK"中是否有EfGk,如果有将EfGK转换成WXYZ,并让字符串的大写字母转成小写,输出修改完成的字符串

        NSString *str =@"aBcD_EfGk";

        //rangeOfString:查找所给字符串在原字符串中的范围如果length > 0 说明存在,如果length == 0则不存在

        

        NSRange range = [strrangeOfString:@"EfGk"];

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

        

        if (range.length >0) {

            NSString *newStr  = [strstringByReplacingOccurrencesOfString:@"EfGk"withString:@"WXYZ"];

            //转化为小写

            NSString *lowerStr = [newStrlowercaseString];

            NSLog(@"%@",lowerStr);

        }

        

2)NSArrayAndNSmutableArray

2.1NSArray 

        NSString *Nokia =@"Nokia";

        NSString *apple =@"Apple";

        NSString *mi =@"MI";

        //initWithObjects:在初始化时一次性存入多个对象 对象和对象之间","隔开"nil"结尾 ,nil之后的对象不再存储

        NSArray *array = [[NSArrayalloc]initWithObjects:Nokia,apple,mi, Nokia,nil];

        NSLog(@"%@",array);

        //数组个数

        NSInteger count = [arraycount];

        NSLog(@"count = %ld",count);

        //访问数组元素

        

        NSString *what = [arrayobjectAtIndex:3];

        NSLog(@"%@ %@",what,array[2]);

        

        //通过对象找到索引值

        //indexOfObject: 只是 找到第一个满足条件的对象的下标

        NSInteger index = [arrayindexOfObject:Nokia];

        NSLog(@"%ld",index);

        

        //遍历数组

        

        for (int i =0; i < array.count; i++)

        {

            NSLog(@"%@",[arrayobjectAtIndex:i]);

        }

        

        NSArray *sortedArray = [arraysortedArrayUsingSelector:@selector(compare:)];

        

        NSLog(@"%@",sortedArray);

2.1NSMutableArray

        NSString *xiaoYi = [NSStringstringWithFormat:@"xiaoYi

0 0