IOS的pch文件,NSTimer定时器,运行消息循环,随机颜色获取使用
xcode新创建一个项目命名pchTest 右键创建文件,选择other 下面的pch,名字不要管默认就好 选中项目 : Buding Setting 搜索框输入 Prefix
Prefix Header 双击一下,有个模态弹框,直接把pch往里面拖,xocde软件会自动读取到文件的路径。直接运行就好了 Precompile Prefix Header 默认是NO,设置成YES,可以提高预编译速度,相当于把pch文件的代码加入缓存里面。 storyBoard拖入一个按钮. 拖动到点m文件里面,给action起个名字,我起成stop PCH文件默认的全部删掉加入
#import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #define AHLJColor(r,g,b) [UIColor colorWithRed:?/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0] #define AHLJRandomColor AHLJColor(arc4random_uniform(256),arc4random_uniform(256),arc4random_uniform(256))
这是随机颜色
ViewController.m关键性code #import “ViewController.h” @interface ViewController () @property(nonatomic,weak)NSTimer *ti; @end @implementation ViewController
- (IBAction)stop:(id)sender {
[self.ti invalidate]; } - (void)viewDidLoad {
[super viewDidLoad]; self.title = demo; self.view.backgroundColor = AHLJColor(144, 144, 122); } - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(changeBg) userInfo:nil repeats:YES]; [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode]; self.ti = timer; } -(void)changeBg{ self.view.backgroundColor = AHLJRandomColor; } @end
点击屏幕可以改变屏幕颜色,以及重复时间设置,点击按钮可以停掉定时器。
|