240 发简信
IP属地:辽宁
  • 有个错误
    NSEvent* event = [NSApp nextEventMatchingMask : NSEventMaskAny untilDate : [NSDate distantPast] inMode : NSDefaultRunLoopMode dequeue:YES];
    应为
    NSEvent *event = [NSApp nextEventMatchingMask:NSEventMaskAny untilDate:[NSDate distantFuture] inMode:NSDefaultRunLoopMode dequeue:YES];
    用distantPast的NSDate的对象的话,无论是否收到事件都会获得一个NSEvent对象,这样会导致循环中长期空转严重占用系统资源,而distantFuture的NSDate会一直阻塞直到接收事件,这样是符合预期效果的。
    GNUStep的-[NSApplication run]方法就是这样设计的。

    纯代码创建macOS应用,及仿写[NSApp run]

    一、前言 写该篇文章的缘由是:我想手动控制macOS的主程序循环,用来添加自己想要的处理。正文 I ~ IV 部分 讲解我理解macOS应用结构。正文 V 部分 ...

  • 120
    在 macOS 上开发 Vulkan 程序

    Vulkan 作为新的标准图形显示 API 已经发布已久,Windows 和 Linux 上早已由各主流显卡厂商所适配,唯独 macOS 上苹果对 Vulkan 反应迟钝,距...

  • 用 C++ 的 regex 来做效率会高很多,我用 Swift 写过一个聊天机器人,用 NSRegularExpression 的时候明显感觉效率很差。

    iOS 高级开发_ 正则表达式

    前言 开发中经常会用到正则表达式来匹配或者过滤目标字符串,从而提高自己的开发效率。本文主要通过介绍正则表达式,让你对正则表达式有一个基本的了解,从而可以应用在自己的开发过程中...

  • 120
    【折腾】开启 macOS 上原生的 NTFS 读写功能

    先来张效果图 零 网上已经有的方法都比较麻烦,而且在新版系统中大多已经失效。我试过的还可以用的方法(在 10.12 中)只剩下修改 fstab 这一种了。很繁琐,每次插新设备...