文件名称:结合来做动画同时解决多个动画顺序执行的问题 iOS
文件大小:403KB
文件格式:ZIP
更新时间:2024-04-26 11:22:08
IOS源码
作者Cloudox,源码OXHanoiDemo,汉诺塔问题本身不难,主要是结合来做动画同时解决多个动画顺序执行的问题。利用分线程来做算法逻辑,主线程跑动画,动画比较耗时,所以算法逻辑需要等待,否则会出现多个动画一起动的情况。解决这个问题的方法是使用dispatch_semaphore_t信号量来控制等待,直到遇到动画的时候等待,动画完成后再继续跑算法,这个方法只有在算法处于分线程时可以做到,否则会阻塞动画的执行。将塔做了对象抽象出来,将其坐标、已经堆放的盘子个数作为其属性,这样代码结构会更加清晰简单。
【文件预览】:
OXHanoiDemo-master
----OXHanoiDemoTests()
--------OXHanoiDemoTests.m(912B)
--------Info.plist(680B)
----OXHanoiDemoUITests()
--------OXHanoiDemoUITests.m(1KB)
--------Info.plist(680B)
----README.md(851B)
----demo.gif(720KB)
----OXHanoiDemo.xcodeproj()
--------project.xcworkspace()
--------project.pbxproj(22KB)
--------xcuserdata()
----OXHanoiDemo()
--------main.m(335B)
--------ViewController.m(4KB)
--------AppDelegate.h(278B)
--------OXTowerView.h(325B)
--------OXTowerView.m(1000B)
--------Info.plist(1KB)
--------AppDelegate.m(2KB)
--------OXMoveViewController.h(299B)
--------ViewController.h(239B)
--------OXMoveViewController.m(7KB)
--------Base.lproj()
--------Assets.xcassets()