slackhq/SlackTextViewController — pull request #15 by fluidsonic (2014-09-26 10:58:13+00:00)
Title: Fixed SLKTextViewController calls wrong super initializer

The designated initializer of `UIViewController` is [`initWithNibName:bundle:`](https://developer.apple.com/library/ios/Documentation/UIKit/Reference/UIViewController_Class/index.html#//apple_ref/occ/instm/UIViewController/initWithNibName:bundle:), not `init`.

When calling `[super init]` then `UIViewController` calls `[self initWithNibName:bundle:]` internally. Since it's calling on `self` the call goes back down in the inheritance hierarchy to the derived classes and then back up the hierarchy again.

This breaks the typical [initializer pattern](https://blog.twitter.com/2014/how-to-objective-c-initializer-patterns). It also crashes when deriving from `SLKTextViewController` in Swift (`fatal error: use of unimplemented initializer 'init(nibName:bundle:)' for class 'App.ChatConversationScreen'`) since the derived class has a different designated initializer and cannot be initialized twice.