Validating conditions for enabling sign-up button
You bind password but then in your return logic you use self.passwordTextField.text.isEmpty which seems to be wrong - but would get caught by countElements(password) &gt;= 4 later.

This would be arguably more readable, and perhaps modular, if you introduced intermediate predicates.  Like such:

class Whatever {

  func hasName () -&gt; Bool {
    return !self.firstNameTextField.text.isEmpty  &amp;&amp;              
           !self.lastNameTextField.text.isEmpty
  }

  func hasEmail () -&gt; Bool { 
    return !self.emailTextField.text.isEmpty
  }

  func hasValidPassword () -&gt; Bool {
    let password = self.passwordTextField.text.stringByReplacingOccurrencesOfString(" ", withString: "")
    return countElements(password) &gt;= 4
  }

  func canSignUpButtonBeEnabled() -&gt; Bool {
    return hasEmail() &amp;&amp; hasName() &amp;&amp; hasValidPassword()
  }
}