ioc笔记

来源:互联网 发布:我跟肌肉男的夜晚知乎 编辑:程序博客网 时间:2024/06/05 21:55


单例是一种设计模式———单例方法是+方法 ———  通常以default或者share开头

一个类只创建一个对象,并且不释放,这个对象就叫做单例

作用: 共享数据,控制,降低性能的消耗

 单例的应用场景:

 1.废纸篓

 2.网页计数器

 3.音乐播放器

 4.任务管理器


    


协议

//专门用来规定方法的

//作用:统一接口

//对比:

//继承统一接口:子类继承父类,所以所有的子类接口都被统一化,范畴比较小,子类可以不用重写方法,子类还可以添加属性和方法.

//协议统一接口:类与类之间没有联系,范畴比较大,因为是id类型,每一个类都需要自己实现方法,不能定义属性


NSRunLoop的主要作用:控制NSRunloop里面线程的执行和休眠,在有事情做的时候使当前NSRunLoop控制的线程工作,没有事情做让当前NSRunLoop的控制的线程休眠。


stringByAppendingPathComponent是添加/,使之变成一个完整的路径

NSString * str=@“tmp”;

str=[ str stringByAppendingPathComponent:@"hello.png"];

str就变成 tmp/hello.png

如果是stringByAppendingPathExtension是加后缀的意思 

str=[str stringByAppendingPathExtension:@"jpg"];

str就是 str.jpg 


序列化与反序列化存储文件与读取文件例子

-(void)encodeWithCoder:(NSCoder *)aCoder{

    [aCoder encodeObject:self.nameforKey:@"name"];

    [aCoder encodeObject:self.addressforKey:@"adress"];

    [aCoder encodeObject:self.numberforKey:@"number"];

    [aCoder encodeObject:self.companyforKey:@"company"];

}

-(id)initWithCoder:(NSCoder *)aDecoder{

    if (self = [superinit]) {

        self.name = [aDecoderdecodeObjectForKey:@"name"];

        self.address = [aDecoderdecodeObjectForKey:@"adress"];

        self.number = [aDecoderdecodeObjectForKey:@"number"];

        self.company = [aDecoderdecodeObjectForKey:@"company"];

    }

    returnself;


+(NSMutableArray *)loadPersonInfo{

    return [NSKeyedUnarchiverunarchiveObjectWithFile:file];

}

+(void)savePersonInfo:(NSArray *)array{

    [NSKeyedArchiverarchiveRootObject:array toFile:file];

}


c字符串转oc字符串:

return [[NSStringalloc]initWithFormat:@"%s",ch];

return [[NSStringalloc]initWithCString:chencoding:NSUTF8StringEncoding];



获取文件内容,例如歌词文件内容:

NSString *lrcContent = [NSStringstringWithContentsOfFile:path encoding:NSUTF8StringEncodingerror:nil];


获取字符串指定位置字符:

- (unichar)characterAtIndex:(NSUInteger)index;

例如:获取字符串str第1号位元素:

unichar c = [str  characterAtIndex:1]


获取原文件的属性:

 NSDictionary *attr = [managerattributesOfItemAtPath:oldPath error:nil];


0 0
原创粉丝点击