美文网首页
NSCache和RunLoop

NSCache和RunLoop

作者: 冷了年度 | 来源:发表于2017-01-10 21:53 被阅读14次

NSCache *cache; cache.countLimit = 10;最多缓存10个数据。可以控制你的缓存。

位移枚举:

//位移枚举,一个参数可以传递多个值,观察位移枚举的第一个值,如果该枚举值!=0,可以默认传0做参数,效率最高,什么都不操作。

typedefNS_OPTIONS(NSInteger, FBTActionType)

{

FBTActionTypeTop =1<<0,//1左移0位为1 1*2^0 = 1

FBTActionTypeBottom=1<<1,// 1*2^1 = 2

FBTActionTypeLeft=1<<2,//1*2^2 = 4

FBTActionTypeRight=1<<3,//1*2^3 = 8

//按位与& 1&1 == 1,1&0 = 0,只要有0就是0

//按位或|只要有1就是为1.

};

runLoop作用:保持程序的持续运行,处理APP中的各种事件(触摸,定时器,selector事件)节省CPU资源,提高程序性能;该做事情的时候做事情,该休息休息。死循环。任务一直在执行。Main函数中有UIApplicationMain中有RunLoop一直在运行。Runloop和主线程相关。

主线程的RunLoop已经自动创建好,子线程的RunLoop需要主动创建。[NSRunLoopcurrentRunLoop]获取当前线程的RunLoop对象。每条线程都有唯一与之对应的RunLoop对象。主线程的RunLoop [NSRunLoopmainRunLoop]

[NSRunLoopmainRunLoop].getCFRunLoop==CFRunLoopGetMain()

Core Foundation 中有5个关于RunLoop的类 .CFRunLoopModeRef代表RunLoop的运行模式。

NSTimer*timer = [NSTimertimerWithTimeInterval:2.0target:selfselector:@selector(run)userInfo:nilrepeats:YES];

//runLoop的运行模式会影响到你的触碰操作例如拖拽。

[[NSRunLoopcurrentRunLoop]addTimer:timerforMode:NSDefaultRunLoopMode];//拖拽的时候不工作,默认。

[[NSRunLoopcurrentRunLoop]addTimer:timerforMode:UITrackingRunLoopMode];//界面追踪模式。

[[NSRunLoopcurrentRunLoop]addTimer:timerforMode:NSRunLoopCommonModes];//整合了UITrackingRunLoopMode和NSDefaultRunLoopMode占位,标签。子线程创建的RunLoop必须要手动创建。[NSRunLoop currentRunLoop]

- (void)run{

NSLog(@"run--%@--%@",[NSThreadcurrentThread],[NSRunLoopcurrentRunLoop].currentMode);

}

相关文章

  • NSCache和RunLoop

    NSCache *cache; cache.countLimit = 10;最多缓存10个数据。可以控制你的缓存。...

  • iOS之NSCache的简单介绍

    NSCache简单说明 NSCache属性和方法介绍 代码示例

  • 了解NSCache的基本使用

    NSCache是专门用来进行缓存处理的, NSCache简单介绍:NSCache是苹果官方提供的缓存类,具体使用和...

  • NSCache内存缓存

    NSCache 基本使用 NSCache缓存类介绍 NSCache源码

  • NSCache

    NSCache NSCache是苹果官方提供的缓存类,它的用法和NSMutableDictionary非常类似. ...

  • NSCache & NSDictionary &

    NSCache和NSURLCache一点关系也没有 NSCache和NSURLCache一点关系也没有 NSURL...

  • NSCache

    NSCache是什么? NSCache是苹果官方提供的缓存类,在AFNetWorking和SDWebImage等主...

  • 正确使用NSCache

    NSCache NSCache是专门用来进行缓存处理的 NSCache简单介绍 1-1.NSCache是苹果官方提...

  • NSCache深入理解

    NSCache是什么东东? NSCache是苹果提供的一套缓存机制,用法和NSMutableDictionary类...

  • NSCache

    NSCache 专门用来做缓存处理的 objectForKey(和字典用法很像) 简介 NSCache是苹果官方提...

网友评论

      本文标题:NSCache和RunLoop

      本文链接:https://www.haomeiwen.com/subject/uqclbttx.html