美文网首页玩MaciOS DeveloperMac
我的第一个Mac小程序 — 手速测试器

我的第一个Mac小程序 — 手速测试器

作者: 无夜之星辰 | 来源:发表于2017-08-28 21:16 被阅读321次

没有什么能阻挡,我对自由的向往。

缘由

之所以做这个小程序是因为我想测一下自己的手速(从a打到z需要的时间),在网上没有找到测试的网页和软件,于是我就自己尝试做了一个,结果成功从iOS码农转型到macOS码农。

七夕还在敲代码,我很快乐

界面是这样的


一个输入框,一个label,一张强势的图片。

思路

监听用户的输入,输入a开始计时,输入z结束计时。

代码

@interface ViewController ()<NSTextFieldDelegate>

@property (weak) IBOutlet NSTextField *textField;

@property (weak) IBOutlet NSTextField *label;

@property (nonatomic ,strong) NSTimer *timer;

@property (nonatomic ,assign) float hundredthSecond;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // Do any additional setup after loading the view.
    
    _hundredthSecond = 0;
    
    self.timer = [NSTimer scheduledTimerWithTimeInterval:0.01 repeats:YES block:^(NSTimer * _Nonnull timer) {
        _hundredthSecond ++;
        //NSLog(@"开始了%f", hundredthSecond);
        
        self.label.stringValue = [NSString stringWithFormat:@"已耗时:%.2f秒", _hundredthSecond / 100];
    }];
    self.timer.fireDate = [NSDate distantFuture];
}

- (void)controlTextDidChange:(NSNotification *)notification {
    NSTextField *textField = [notification object];
    //NSLog(@"controlTextDidChange: stringValue == %@", [textField stringValue]);
    
    NSString *str = textField.stringValue.lowercaseString;
    
    // 输入“a”开始计时
    if (str.length > 0 && [[str substringFromIndex:str.length-1] isEqualToString:@"a"]) {
        _hundredthSecond = 0;
        
        // 开启timer
        self.timer.fireDate = [NSDate distantPast];
    }
    
    // 输入“z”结束计时
    if (str.length > 0 && [[str substringFromIndex:str.length-1] isEqualToString:@"z"]) {
        
        // 结束timer
        self.timer.fireDate = [NSDate distantFuture];
        
        
        // 后26个字母正确则完成
        if (str.length >= 26 && [[[str lowercaseString] substringFromIndex:str.length - 26] isEqualToString:@"abcdefghijklmnopqrstuvwxyz"]) {
            
        }else {
            NSLog(@"未正确输入26个字母");
            self.label.stringValue = [NSString stringWithFormat:@"未正确输入26个字母(耗时:%.2f)", _hundredthSecond / 100];
        }
        
        _hundredthSecond = 0;
    }
   
}

我的最好成绩


不得不说,这手速相当快了,不负单身二十余年

小程序地址

点此获取

相关文章

网友评论

本文标题:我的第一个Mac小程序 — 手速测试器

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