Swift initializer processing is tricky and very particular. You should really read about Swift Initializers in the language documentation to understand what you're doing.
You can have more than one init method, but you have to obey the inheritance and hierarchy rules. And you need to definitely understand what are called convenience initializers.
Having said that, many classes require at least one init overload like this:
init(coder aDecoder: NSCoder!)
{
super.init(coder: aDecoder)
}
The compiler may be complaining because it thinks that's what you're trying to create but did it wrong.