二十三天

内存管理:copy,拷贝的时候不会对引用计数器作出任何改变,要遵循NSCopying协议,实现NSCopying协议中的方法。因为是拷贝,所以定义的成员属性是等于self->成员属性。

用assign也不会加1;

NSString类型的retainCount为-1  (NSString 存储的内容是变量(不可以被改变));


内存管理ARC:(不用空间就释放掉)

strong-----强引用,强指针--作用:有强指针指向之后,就不会把内存自动释放

weak-------弱引用,弱指针--作用:会释放掉,然后指向空

线程安全管理:

@property(nomatic)不加线程锁(一般使用不加线程锁)性能高

@property(atomic) 加线程锁,性能差


oc框架类库:

Foundation(字符串,容器, NSData)

NSString ---不可变

NSMutableString--可变

        NSString *str1=@"hello";
        NSString *str=[NSString stringWithString:str1];// 赋值其他NSString对象给一个对象
        NSLog(@"%@",str);
        NSString *str2=[[NSString alloc]initWithFormat:@"%s","hello" ];
        //计算长度
        NSLog(@"%lu",[str2 length]);
        //追加字符串
        NSString *str3=[str2 stringByAppendingString:@"oc"];
        NSLog(@"%@",str3);
        //str2里面的值是不会改变的,改变的只是str3的值
        //删除----NSString是只读的,不可修改。所以不可能删除里面的个别的字符
        NSMutableString *mustr=[[NSMutableString alloc]initWithFormat:@"1234"];
        NSLog(@"%@",mustr);
        NSRange range=NSMakeRange(0, 2);//第一个参数是从哪个位置开始,第二个参数是长度,从0开始
        
        [mustr deleteCharactersInRange:range];//删除
        NSLog(@"%@",mustr);
        
        [mustr appendString:@"hello"];// 追加
         NSLog(@"%@",mustr);
        
        [mustr setString:@"5-6-7-8"];// 替换
        NSLog(@"%@",mustr);
        
        //比较
        if ([mustr compare:@"5678"]==NSOrderedSame) {
             NSLog(@"same");
        }else{
            NSLog(@"not same");
        }
        
        //查找 并进行替换
        NSRange range1=[mustr rangeOfString:@"-"];// 查找
        while (range1.length!=0) {
            [mustr replaceCharactersInRange:range1 withString:@"."];//替换
            range1=[mustr rangeOfString:@"-"];

        }
       
        NSLog(@"%@",mustr);
结果:
2015-11-19 14:38:19.674 Foundation框架-- NSString NSMutableString[1347:90606] hello
2015-11-19 14:38:19.674 Foundation框架-- NSString NSMutableString[1347:90606] 5
2015-11-19 14:38:19.675 Foundation框架-- NSString NSMutableString[1347:90606] hellooc
2015-11-19 14:38:19.675 Foundation框架-- NSString NSMutableString[1347:90606] 1234
2015-11-19 14:38:19.675 Foundation框架-- NSString NSMutableString[1347:90606] 34
2015-11-19 14:38:19.675 Foundation框架-- NSString NSMutableString[1347:90606] 34hello
2015-11-19 14:38:19.675 Foundation框架-- NSString NSMutableString[1347:90606] 5-6-7-8
2015-11-19 14:38:19.675 Foundation框架-- NSString NSMutableString[1347:90606] not same
2015-11-19 14:38:19.675 Foundation框架-- NSString NSMutableString[1347:90606] 5.6.7.8
以特殊字符分割字符串然后输出

string是:Application is foundation iphoneis foundation mac

NSArray *array=[string componentsSeparatedByString:@" "];
        for (int i=0; i<array.count; i++) {
            NSLog(@"%@",array[i]);

        }
结果:
2015-11-19 15:45:12.550 Foundation框架-- NSString NSMutableString[1629:107125] Applications
2015-11-19 15:45:12.551 Foundation框架-- NSString NSMutableString[1629:107125] is
2015-11-19 15:45:12.551 Foundation框架-- NSString NSMutableString[1629:107125] foundation
2015-11-19 15:45:12.551 Foundation框架-- NSString NSMutableString[1629:107125] iphone



NSArray---- 用于固定的数据

NSMutableArray------用于不确定的数据

NSMutableArray *array=[[NSMutableArray alloc]init];
        [array addObject:@"aaa"];
        [array addObject:@"bbb"];
        [array addObject:@"ccc"];
        [array addObject:@"hehe"];
        //要想输出汉字就要重写方法: - (NSString *)descriptionWithLocale:(id)locale
        NSLog(@"%@",array);
        [array addObjectsFromArray:array];//把一个数组添加到另一个数组
        //[array removeObject:@"aaa"];//删除数组中的元素
        [array removeObject:@"aaa" inRange:NSMakeRange(3,3)];//删除指定位置的元素,第一个参数是位置,位置从零开始,第二个参数是长度,要查找的长度,就是在第二个参数的长度范围内查找
        NSLog(@"%@",array);
        //查找再删除
        NSUInteger integer=[array indexOfObject:@"bbb" inRange:NSMakeRange(4, 3)];
        [array removeObjectAtIndex:integer];
        NSLog(@"%@",array);


NSNumber -----使用NSNumber对象来创建和初始化不同类型的数字对象


学生管理系统:学生信息(保存,查询,删除,添加,修改),学生成绩(能查询,修改,显示)





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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值