xcode - iOS: 如何使用 swift 来添加一条死循环,有时间间隔的线程?
巴扎黑
巴扎黑 2017-05-31 10:32:00
0
1
731

简单实现到这种程度即可:
定义一个bool 类型变量,每次循环时会判断这个变量,为 true 即会打印 print(666),并使线程休眠1s,然后重复这个循环.

尝试过 GCD的.concurrentPerform,但是只能执行一定数量,并不是真死循环,而且不知道怎么设置时间间隔.
网上还有 NStimer 方法,但是不知道少导入了哪个框架,并没有 NSTimer 这个类(Swift项目).


尝试了 Cadisplaylink,问题已经解决了,但是在作为全局量初始化的时候,

let displaylink = CADisplayLink(target: self,
   selector: #selector(step))

会报错,这是为什么?

巴扎黑
巴扎黑

全部回复(1)
过去多啦不再A梦

在评论中确认了题主是 target: self 这里报错了。

以下是题主之后的疑问:

哦对,当时controller 还没初始化了,谢谢你.还有能再问一下这个 target:变量有什么用吗?只知道一般的 target 都填 self,但不知道填 self 是为了啥,是设置代理的吗?

简单理解就是后面参数 selector 的所属。
一般时候,selector 都是指向某个类内的某个方法,当 let displaylink = CADisplayLink(target: self, selector: #selector(step)) 是写在相同类中时,自然 target 就是 self 了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板