#Hello Edgerunners, welcome to the Night-City.

Welcome!

iOS : 为什么 BOOL 可以赋值为 nil

有些情况下可能你会发现 BOOL 类型可以赋值为 nil,但在我们的印象里,nil 是 OC 对象的字面空白值,那么为什么可以赋值给 BOOL 呢? 首先我们应该查阅苹果的官方文档,先来看看 BOOL 的定义: typedef signed char BOOL; 我们知道 BOOL 有两个值,分别是 YES 和 NO: #define YES (BOOL)1 #define NO (BOOL)0 可见, BOOL 事实上是有符号字符的别名,使用了 #define 分别定义了 1 为 YES,0 为 NO。 再看看 nil 是如何定义的: #define nil __DARWIN_NU...

Useful RegEx

Hex Value /^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/ 匹配示例: #a3c113 错误示例: #4d82h4 HTML Tag /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/ 匹配示例: <a href="{{ site.url }}/">Meniny+</a> 错误示例: <img src="img.jpg" ⌥="Some image>" /> ...

完成一个 Scheme 解释器需要哪些知识

源码级解释器 在词法、语法分析的过程中解释执行其语义,不需要生成抽象语法树 对于简单的语言 (如各种 Scheme 子集) ,实现起来比较方便,间接层少,但是模块耦合度大,不方面调试。 基于语法树解释 生成抽象语法树 (AST) 再解释。AST形式不唯一 (事实上,Scheme源代码已经很AST了) 语法树解释器的执行效率仍然不高。 字节码解释器 可以边解析边生成字节码,也可以基于AST生成字节码。 字节码是一种 IR (中间表示) ,可以把字节码转换为 SSA、CPS 等其他 IR 的形式,方面优化。 生成机器码 全部编译成机器码:从源代码直接生成;从AST生成;从字节码生成 JIT 技术:...

iOS Waring: TabBar Item States

在设置 TabBar 文字属性时,可能会遇到类似这样的警告: button text attributes only respected for UIControlStateNormal, UIControlStateHighlighted and UIControlStateDisabled. state = 4 is interpreted as UIControlStateHighlighted. 这可能是因为你写了这样的代码: UIBarButtonItem *item = [UIBarButtonItem appearance]; [item setTitleTextAttrib...

UNIX/Linux Command: When should I not kill 9 a process

Q: I am always very hesitant to run kill -9, but I see other admins do it almost routinely. I figure there is probably a sensible middle ground, so: When and why should kill -9 be used? When and why not? What should be tried before doing it? What kind of debugging a "hung" process could ...

iOS 9 : ATS (App Transport Security)

相信很多小伙伴即将开始着手 iOS 9 的适配工作了,下面我们就来了解一下 iOS 9 的一项新特性: ATS。 什么是 ATS ATS 的全称是 App Transport Security,是iOS9的一个新特性,它的主要作用在于增强数据访问安全性。 App Transport Security Technote 在基于 iOS 9 的 SDK 编译的 APP 中,默认情况下任何使用 NSURLConnection、CFURL 以及 NSURLSession 的 HTTP请求,都会统一使用 TLS 1.2 协议。 什么是 SSL/TLS SSL (Secure Sockets Layer...

iOS 9 : Bitcode

相信很多小伙伴即将开始着手 iOS 9 的适配工作了,下面我们就来了解一下 iOS 9 的一项新特性: Bitcode。 什么是 Bitcode 首先我们需要了解苹果的 App Thinning 计划,该计划对 iOS 和 WatchOS 应用安装进行优化,旨在缩小应用体积使小容量设备的用户受益。 苹果在其官方文档中这样定义: Bitcode is an intermediate representation of a compiled program. Apps you upload to iTunes Connect that contain bitcode will be comp...

iOS 9 : URLScheme

相信很多小伙伴即将开始着手 iOS 9 的适配工作了,下面我们就来了解一下 iOS 9 的一项新特性: URLScheme。 URLScheme 白名单与 canOpenURL: 方法 在 iOS 9 中,苹果针对 URLScheme 又引入了新的白名单概念,在 WWDC 2015 Session 703: Privacy and Your App 中提到: If you call the "canOpenURL" method on a URL that is not in your whitelist, it will return "NO", even if there is an a...

UNIX/Linux 文件权限浅析

一、基本文件权限 我们知道在 UNIX/Linux 中可以用 ls -l 命令来查看权限,其表示格式是类似这样的: -rwxr-xr-x 这种表示方法一共有十位: 9 8 7 6 5 4 3 2 1 0 - r w x r - x r - x 第9位表示文件类型,可以为p、d、l、s、c、b和-。 _ 权限说明 p命名管道文件 d目录 l符号连接文件 -普通文件 ssocket文件 c字符设备文件 b块设备文件 _ 第8 - 6位、5 - 3位、2 - 0位分别表示文件所有者的权限,同组用户的权限,其他用户的权限,其形式为rwx。 _ 权限说明 r可读 w可写 x可执行 ...

iOS : App Group

本文主要介绍 App Group 功能。 我们可以使用 NSUserDefaults 来访问,当然,这里的 NSUserDefaults 并不是使用 NSUserDefaults.standardUserDefaults(): let sharedUserDefault = NSUserDefaults(suiteName: "group.cn.meniny.AppGroupDemo") 此外你也可以使用 NSFileManager.defaultManager() 的 containerURLForSecurityApplicationGroupIdentifier(...

iOS UITableView: Appearance of HeaderView & FooterView for Section

如果你想自定义header颜色,可以这样做: [[UITableViewHeaderFooterView appearance] setTintColor:[UIColor redColor]]; 如果你不想建立自定义视图,也可以这样(iOS6): -(void) tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { if ([view isKindOfClass: [UITableViewHeaderFooterView cla...

git clone error: RPC failed; result=56, HTTP code = 200

如果你遇到这样的 Git 错误: git clone error: RPC failed; result=56, HTTP code = 200 其解决办法很简单: git config --global http.postBuffer 尽量大的数 ...

What's this?

The Night-City version of Hotodogo inspired by Cyberpunk 2077. Not finished yet.

Pinned Message

The Founder and CEO of Infeca Technology.

Developer, Designer, Blogger.

Big fan of Apple, Love of colour.

Feel free to contact me.

反曲点科技创始人和首席执行官。

开发、设计与写作皆为所长。

热爱苹果、钟情色彩。

随时恭候 垂询

Outer Square Inner Square