Objective-C基础知识点

NSString NSArray NSNumber


一.使用苹果帮助文档
打开帮助文档:X-code->help->Documentation and API Reference.
二.字符串类
1.Foundation框架:Foundation框架是Cocoa编程,IOS编程的基础框架,包括:字符、集合、日期、时间等基础类.
字符串、数组、字典都属于Foundation框架.
2.字符串:OC中,字符串是由unichar(Unicode)字符组成。
NSString,不可变字符串,即:创建以后,内容和长度都不可更改。
NSMutableString,可变字符串,即:创建以后,内容还可以更改。
创建一个新的字符串,可用实例方法和便利构造器。
3.NSNumber:数值对象,完成数值标量和对象类型的互转->(基本类型(int,float等)转换为NSNumber,NSNumber转换为基本类型).
4.NSVlaue:完成标量和对象类型的互转.->[结构体(NSRange等)、指针等转换为NSValue,NSValue转换为结构体(NSRange等)、指针等].


  //一。不可变字符串(NSString):长度不可变,内容可变.

        NSString *str =  @"zhonghuarenmingongheguo";

        //1.求字符串长度 [str length]

        NSUInteger length= [str length];

        NSLog(@"%lu",(unsigned long)length);

      

        //2.获取子字符串

        //substringFromIndex:(NSUInteger)(from从哪开始,一直到最后,下标从0开始

        NSString *subStr = [str substringFromIndex:7];

        NSLog(@"%@",subStr);

        //0:(NSUInteger)]:从下表0开始到Index(共有Index个字符)

        NSString *subStr2 = [str substringToIndex:str.length];//到下标7但不包含7

        NSLog(@"%@",subStr2);

        //substringWithRange:(NSRange) rang是个结构体,两个成员变量:位置和长度

        NSRange rang = NSMakeRange(7, 5);

        NSString *subStr3 = [str substringWithRange:rang];

        NSLog(@"%@",subStr3);

        

        //3.拼接字符串(不可变字符串在拼接是一定要用第三个字符串来接收拼接后的字符串)

        //stringByAppendingString:(NSString *) 把后面的字符创拼接到前面的字符串上面,然后把拼接的结果赋值给第三个字符串。

        NSString *string1 = @"2342893";

        NSString *string2 = @".png";

        

        NSString *appendingString = [string1 stringByAppendingString:string2];

        NSString *appendingString1 = [string2 stringByAppendingString:string1];

        NSLog(@"%@",appendingString);

        NSLog(@"%@",appendingString1);

        NSLog(@"%@",string1);

        NSLog(@"%@",string2);

        

        //4.替换字符串

        NSString *string3 = [appendingString stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"];

        NSLog(@"%@",string3);

        

        

        //5.字符串相等(isEqualToString:(NSString *):常用于if判断)

        NSString *string4 = @"8957458@qq.com";

        if ([string4 isEqualToString:@"78534678@qq.com"]) {

            NSLog(@"输入正确");

        }else

            NSLog(@"输入错误,请重新输入");

        

        

        //6.hasSuffix(NSString *):以什么结尾(返回BOOL)

        NSString *str5 = @"sjkf.jpn";

        bool b = [str5 hasSuffix:@"png"];

        NSLog(@"%i",b);



        //7.hasPrefix:(NSString *):以什么开头(返回BOOL)

        NSString *str6 = @"ecome.coco";

        BOOL c = [str6 hasPrefix:@"com"];

        NSLog(@"%i",c);

        

        //8.比较大小:compare:(NSString *),比较的是ASCII码,返回的是BOOL值共有三种情况(前大后小返回1,前后相等返回0,前小后大返回-1

        NSString *str7 = @"aoco";

        NSString *str8 = @"boco”;

        NSLog(@"%li",[str7 compare:str8]);





	  //二.可变字符串:动态可变,可以对字符串进行增删改操作.

    //1.可变字符串拼接appendString:(NSString *)
    NSMutableString *string1 = [NSMutableString stringWithString:@"Coco"];
        
    [string1 appendString:@"a"];
    NSLog(@"%@",string1);
        
    //2.可变字符插入字符串 insertString:(NSString *) atIndex:(NSUInteger)
    NSMutableString *string2 = [NSMutableString stringWithString:@"zhangsanfeng"];
    [string2 insertString:@"22222" atIndex:5];
    NSLog(@"%@",string2);
   
   //3.可变字符串删除deleteCharactersInRange:(NSRange)
        
   [string2 deleteCharactersInRange:NSMakeRange(5, 5)];
      NSLog(@"%@",string2);



		三.oc中数组只能存放类初始化的对象

        //不可变数组初始化
        NSArray *array1 = [NSArray arrayWithObjects:@"111",@"222",@"33",@"444",@"555",nil];
        //1.取出某个下标的元素:objectAtIndex:(NSUInteger)
        NSArray *arr1 = [array1 objectAtIndex:2];
        NSLog(@"%@",arr1);
        //2.显示某个元素的下标:indexOfObject:(id)
        NSUInteger index = [array1 indexOfObject:@"111"];
        NSLog(@"%li",index);
        //3.添加元素:arrayByAddingObject:(id)
        NSArray *array2 = [array1 arrayByAddingObject:@"999"];
        NSLog(@"array2 = %@",array2);
        //4.把一个数组加到另一个数组中:arrayByAddingObjectsFromArray:(NSArray *)
        NSArray *array3 = [NSArray arrayWithObjects:@"1",@"2", nil];
        NSArray *array4 = [array1 arrayByAddingObjectsFromArray:array3];
        NSLog(@"array2 = %@",array4);

        NSLog(@"%i",[array4 containsObject:@"55d5"]);


	//四.可变数组
        /*
        //可变数数组初始化
        NSMutableArray *array = [NSMutableArray arrayWithObjects:@"111",@"222",@"333",@"444", nil];

        //1.可变数组添加对象:addObject:(id)
        [array addObject:@"555"];
        NSLog(@"%@",array);

        //2.删除某个元素:removeObject:(id)
        [array removeObject:@"222"];
        NSLog(@"%@",array);

        //删除最后一个元素
        [array removeLastObject];
        NSLog(@"%@",array);

        //全部删除
        [array removeAllObjects];
        NSLog(@"%@",array);
        
        //3.更改其中一个元素:replaceObjectAtIndex:(NSUInteger) withObject:(id)         
        [array replaceObjectAtIndex:1 withObject:@"000"];
        NSLog(@“%@",array);


//解决数组在控制台无法输出中文的问题
方法:重写方法-(NSString *)descriptionWithLocal:(id)local;

-(NSString *)descriptionWithLocal:(id)lical{

	NSMutableString *str = [NSMutableString stringWithFormat:@“%lu(\n”,(unsung long)self.count];
	
	for(id obj in self){
	
		[str appendFormat:@“\t%@,\n”,obj];
	}
	
	[str appending:@“)”];
	
	return str;
}  




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值