2018-02-28 runloop 笔记

2018-03-12  本文已影响5人  KKKKaras

runloop

作用

模型

・CFRunLoopRef = RunLoop
・CFRunLoopModeRef 是mode的属性
・CFRunLoopSourceRef
・CFRunLoopTimerRef
・CFRunLoopObserverRef
・是CFRunLoopRef的内容

Foundation

[NSRunLoop currentRunLoop]; // 获得当前线程的RunLoop对象
[NSRunLoop mainRunLoop]; // 获得主线程的RunLoop对象
Core Foundation

CFRunLoopGetCurrent(); // 获得当前线程的RunLoop对象
CFRunLoopGetMain(); // 获得主线程的RunLoop对象

应用实例
1、当设置点击事件 延迟2秒执行时

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    [self.imageView performSelector:@selector(setImage:) withObject:[UIImage imageNamed:@"1"] afterDelay:2.0 inModes:@[NSDefaultRunLoopMode]];
}

在延迟执行的时候 进行比如textview、scrollview的滑动 会导致图片显示不出来。

[self.imageView performSelector:@selector(setImage:) withObject:[UIImage imageNamed:@"1"] afterDelay:2.0 inModes:@[NSRunLoopCommonModes]];

延伸

上一篇下一篇

猜你喜欢

热点阅读