Enhance iOS Keyboard Switching Experience for Multilingual Users

The experience of switching keyboards is bad for multilingual users. I propose an enhanced design.

针对多语言用户的 iOS 键盘切换体验改进

对多语言用户来说,iOS 键盘切换体验不好。我提出一个设计改进。

Iterate, Generate, Destroy

Destructive iteration sounds horrifying but your sequences are safe.

Unify Type Properties and Methods

The coexistence of ‘static’ and ‘class’ keywords is confusing. We should unify type properties and methods in Swift.

Expose Mutable Properties as Immutable

It is a common API design pattern. But how to do it in Swift is not well known.

iBand + iPod > iWatch

iWatch, no. iBand and new iPod, yes. iBud, maybe.

View Controller Actor Chain

How to use UIViewController actor chain on iOS 8 and how it is implemented.

Objective-C Initializer Design Rules

Rules to follow when designing initializers.

The Inconsistent Order of View Transition Events

Code depending on the order of view transition events is dangerous for it is so inconsistent.

The Complete Objective-C Messaging Flow

How do method lookup, dynamic resolution and message forwarding work together in objc_msgSend?