小众开发者 #Swift #Themes  Docker  Github
< Code is code />
  • Swift 里的 dispatch_once 替代方案

    Sep 27, 2020

    ObjC 里的 dispatch_once 使用起来很方便,但是 Swift 里废弃使用这个方法了,原因是鼓励大家使用 static let 。 …

    Swift

  • 拉取 Github 上的 Pull Request 代码到本地分支

    Sep 19, 2020

    如果在 GitHub 上看到一个好的 PR,作者又没有 Merge ,这个时候比较好的办法是合并到自己的 Fork 里。 …

    Git

  • 创建 Visual Studio C++ 离线安装包

    Sep 15, 2020

    Visual Studio 2015 之后,微软就不再提供 Visual Studio 的 iSO 镜像下载了,而是提供按需下载的模式,如果需要在团队内部分发安装,就需要自己制作离线安装包。 如果你只需要 C++ 的推荐组件和可选组件,语言是简体中文: …

    Visual Studio

  • Swift 的逃逸闭包和非逃逸闭包

    Aug 30, 2020

    Swift 里的闭包(Closure)对应 ObjC 里的代码块(Block)。 众所周知,在闭包里引用外部变量其引用数会递增,但如果是在闭包所在的方法内部立即就执行的,引用数递增是没有必要的。 …

    Swift

  • *** -[UIKeyboardLayoutStar release]: message sent to deallocated instance

    Aug 29, 2020

    项目里使用了 Swizzlling Method 黑魔法来防止 NSArray 越界之类的崩溃。 App 在使用键盘时切换到后台,就会触发一个非法访问的崩溃: *** -[UIKeyboardLayoutStar release]: message sent to deallocated instance ... 去掉黑魔法造成的风险太大了。 解决方法是禁用黑魔法的 ARC,添加编译标志 -fno-objc-arc。 …

    iOS

  • NS_ASSUME_NONNULL_BEGIN & NS_ASSUME_NONNULL_END

    Aug 29, 2020

    ObjC 里一切都是对象指针,对象之前传值是传指针引用。 Swift 里一切都是对象,参数传递分为值引用和对象引用。 在 ObjC 的方法里,可以判断传进来的指针是否为 nil: - (void)foo:(id)obj { if (!obj) { return; } } 在 Swift 的方法里,只有 Optional (? & !) 才能判断是否为 nil: …

    iOS

  • pmset 合盖省电设置

    Aug 27, 2020

    查看当前的电源管理设置: pmset -g 电源管理模式设置: -a: 所有模式生效 -b: 电池供电生效 -c: 使用接头外接供电生效 -u: UPS 供电生效 hibernatemode 休眠模式 0: 数据仅保持在内存里,唤醒时从内存恢复数据,断电时会丢失数据 …

    macOS

  • Google Chrome standalone

    Aug 26, 2020

    Windows x64 https://www.google.com/chrome/?standalone=1&platform=win64 Windows x32 https://www.google.com/chrome/?standalone=1&platform=win32 macOS https://www.google.com/chrome/?standalone=1&platform=macos Linux https://www.google.com/chrome/?standalone=1&platform=linux

    Chrome

  • 实现一个线程安全的缓存库

    Aug 25, 2020

    最近做了一个基于 LRU 策略的缓存 ZLRUCache,自己玩着感觉还可以。 …

    iOS

  • TARGETED_DEVICE_FAMILY 编译选项说明

    Aug 22, 2020

    TARGETED_DEVICE_FAMILY 是 Xcode 编译选项里的一个字段,用于标识当前项目适用于哪些硬件设备。 …

    Xcode

  • 21
  • 22
  • 23
  • 24
  • 25

©2021 lvvme.

Powered by Hugo & Notepadium ipv6 ready