I have a "TextInputCell" class that inherits from UITableViewCell and represents a UITableViewCell that contains a UITextField. When using this class in a View Controller to add a "TextInputCell" to a row of a UITableView, I set the delegate to the View Controller itself, and the delegate functions are empty (besides return statements) - which I will post below. When running the app the Text Fields appear exactly as I want them do, and allow me to click in the text field and the keyboard pops up, however the second I press any key on the keyboard the app crashes with error

- parameter style: A constant indicating a cell style. See UITableViewCellStyle for descriptions of these constants.
- parameter reuseIdentifier: A string used to identify the cell object if it is to be reused for drawing multiple rows of a table view. Pass nil if the cell object is not to be reused. You should use the same reuse identifier for all cells of the same form.

/**
Needed for initialization from a storyboard.
- parameter aDecoder: An unarchiver object.
- returns: An initialized TextInputeCell object or nil if the object could not be created.
*/
required public init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}

/**
Update the placeholder specific to the Input Field
- Parameter placeholder: the place holder for the input field
*/
public func updatePlaceHolder(placeholder: String) {
textField.placeholder = placeholder
}

}

And the View Controller when assigning delegates and delegate methods etc..

Turns out that it was related to a corrupted storyboard or .xib file, The issue was resolved by deleting the Tab Bar controller and creating a new one, with newly configured relationships. The answer was found here.