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

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

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?

Delegate VS Block in API Design

Wherever delegate works block also works, but sometimes delegate is still a better choice in API design.

A Surprising Corner Case of Using NSNotification, NSOperationQueue and GCD

I found a very interesting corner case of using NSNotification, NSOperationQueue and GCD. Without precaution, I dare say 99% of experienced iOS/OS X developers would fall for it.