MiracleTan Blog

Thinking will not overcome fear but action will.

GCD 在 Swift 中的用法

DispatchQueue Swift 中,对 GCD 语法进行了彻底改写。引入了 DispatchQueue 这个类。 先来看看在一个异步队列中读取数据, 然后再返回主线程更新 UI, 这种操作在新的 Swift 语法中是这样的: DispatchQueue.global().async { DispatchQueue.main.async { // 更新UI操作 ...

Swift 4 新特性

很高兴 Swift 4 不再是一门新语言了😅

private 权限扩大 在 Swift 4 中,extension 可以读取 private 变量了。 Swift 3 中,如果将主体函数的变量定义为 private,则其 extension 无法读取此变量,必须将其改为 filePrivate 才可以。 单向区间 单向区间是一个新的类型,主要分两种:确定上限和确定下限的区间。直接用字面量定义大概可以写成 …6和 2… 例如 ...

利用 Debug Memory Graph 检测内测泄漏

利用 Xcode 内存表(Debug Memory Graph)检测内测泄漏

前言 平常我们都会用 Instrument 的 Leaks / Allocations 或其他一些开源库进行内存泄露的排查,但它们都存在各种问题和不便, 在这个 ARC 时代更常见的内存泄露是循环引用导致的 Abandoned memory,Leaks 工具查不出这类内存泄露,应用有限。 今天介绍一种简单直接的检测内测泄漏的方法:Debug Memory Graph 就是这货: ...

iTunes Connect 构建版本不显示

App打包上传到 App Store, iTunes Connect 构建版本不显示

前言 今天新项目上架,在Xcode打包上传到App Store后,在iTunes Connect构建版本中居然找不到上传的App… 解决 从iOS10开始,苹果更加注重对用于隐私的保护,App 里边如果需要访问用户隐私,必须要做描述,所以要在 plist 文件中添加描述。 而这三个基础描述是必须添加的: 麦克风权限:Privacy - Microphone Usag...

Swift的HMAC和SHA1加密

swift中利用HMAC的SHA1对文本进行加密

HMAC是密钥相关的哈希运算消息认证码(Hash-based Message Authentication Code)。 HMAC运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。也就是说HMAC通过将哈希算法(SHA1, MD5)与密钥进行计算生成摘要。 Objectice-C 在上个 Objectice-C 项目中,使用的 HMAC 和 SHA1 进行加...

「体能训练理论」之金字塔

「健身先健脑」科学的运动需要科学的运动理论

引言 体能,人体基础运动能力的统称,人体的本质属性,它支撑着日常生活工作的需要,也支撑着运动技战术的表现。 体能思路,是指导我们设计实施体能训练的思维方式,分析逻辑。它包括回归原点的 五大运动素质 & 动力链理论,也包括在过程中引领方向的 功能性原则 和 金字塔 。 金字塔 体能训练是一门实践科学,实践先于理论,而理论印证实践。体能训练有四大基础学科,分别是运动解剖学、运动生理...

「体能训练理论」之动力链

「健身先健脑」科学的运动需要科学的运动理论

引言 与其说体能训练是一种行为,不如说体能训练是一种程序。只要符合逻辑,就可以自由组合。 那么体能训练的逻辑是什么?我们将之总结为:动力链、功能性、金字塔。 动力链 如果说 五大运动素质(力量、速度、耐力、灵敏、柔韧)代表了体能的宏观表现,那么动力链理论则阐释了人体解剖结构在运动中的客观规律,这二者同为人体的本质属性。 动力链这一理论早在1875年就被提出过,当时的定义还很简单,就...

「体能训练理论」之功能性

「健身先健脑」科学的运动需要科学的运动理论

引言 体能训练是一种开源的程序它所依仗的并不是固有的方法手段,而是能够贯穿始终的逻辑,它是一种指导实践的思维方式,我们管它叫“体能思路”。 体能思路有两个方向,一个是原点,一个是过程。所谓原点我们认为是人体的本质属性,比如之前我们分享的五大运动素质以及动力链理论。所谓过程是我们分析问题实现目的的思考方向以及逻辑,它主要体现在接下来要跟大家分享的功能性原则和金字塔。 今天先来说功能性原则...

Xcode9 无线调试功能

zsh的快速配置

支持:Xcode 9 及 iOS 11 使用数据线连接 iPhone 到电 Mac,Mac 和 iPhone 必须在同一个局域网 1. 打开设备列表 使用快捷键盘 ⇧⌘2 或 在 Xcode 菜单栏选择 Window > Devices and Simulators,打开设备列表 2. 勾选在线调试按钮 3. 拔掉数据线 这时就可以无线调试了。

快速配置zsh

zsh的快速配置

比较水的 Personal Notes 查看你的系统有几种shell cat /etc/shells 显示 /bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh 安装 oh my zsh git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-...