一些也许会用到的oc知识

一、oc如何将数据写入到plist文件中

/**
*数组、字典只能将BoolNSNumberNSStringNSDataNSDateNSArrayNSDictionary 写入属性列表plist文件
*/

    NSValue *value = [NSValue valueWithRange:NSMakeRange(1, 5)];
    NSDictionary *dic = @{@"key1":@12345,@"key2":@"tttxxx",@"key3":value};
    NSString *homePath = NSHomeDirectory();
    NSString *path = [homePath stringByAppendingPathComponent:@"t.plist"];
    BOOL success = [dic writeToFile:path atomically:YES];
    if (success) {
        NSLog(@"write success");
    }

二、拆分路径

NSString *path = @"/Users/apple/testfile.text";
NSArray *pathComps = [path pathComponents];
NSLog(@"%@",pathComps);
屏幕快照 2016-05-26 下午2.12.51.png

三、计算一个目录的容量大小

NSString *directPath = [homePath stringByAppendingPathComponent:@"test"];
NSDirectoryEnumerator *files = [fileManager enumeratorAtPath:directPath];

NSString *path = [files nextObject];
NSInteger fileNum = 0;
while (path != nil) {
    NSLog(@"%@",path);
    NSString *path2 = [directPath stringByAppendingPathComponent:path];
    NSDictionary *attrDic = [fileManager attributesOfItemAtPath:path2 error:nil];
    NSNumber *fileSize = attrDic[NSFileSize];
    fileNum += [fileSize intValue];
    
    path = [files nextObject];
}
NSLog(@"目录的总大小:%d",fileNum);

四、获取对应的时区时间

    NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    NSDate *date = [NSDate date];
    NSTimeZone *zone = [NSTimeZone systemTimeZone];
    NSInteger interval = [zone secondsFromGMTForDate: date];
    NSDate *localeDate = [NSDate dateWithTimeInterval:interval sinceDate:date];
    NSString * s =  [dateFormatter stringFromDate:localeDate];

五、取消延迟执行的函数

延迟执行函数

[self performSelector:@selector(scrollDone) withObject:nil afterDelay:0.5];

在0.5秒内取消执行函数,带的参数必须一样,才能取消成功

[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(scrollDone) object:nil];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,377评论 30 472
  • 面向对象三大支柱封装:就是把相关的数据和代码结合成一个有机的整体,形成数据和操作代码的封装体,对外只提供一个可以控...
    WangDavid阅读 5,778评论 0 2
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 8,931评论 2 4
  • 接下来我们看base文件下的Foundation文件夹下文件 Base - Foundation 这个文件夹里面的...
    充满活力的早晨阅读 6,549评论 0 1
  • 通读全书的时候我就一直在思考到底为什么这个发生在战争年代的小说要以“线”来命名,我想,除了书籍后封面上印上去的故事...
    JoelyZhao阅读 3,873评论 2 3