title: iOS Swift Pass Closure as Property?
body: <p>Let's say I have a custom UIView, lets call it MyCustomView. Inside this view is a UITextField property. Suppose my goal is to be able to create an instance of MyCustomView and add it to some view controller somewhere, and I want that view controller to be able to handle actions taken on that text field. For example, if I hit "return" on the keyboard within the text field, I may want to do some action - let me give an example of what I'm envisioning with some objective-c psuedo code:</p>
  
  <pre><code>MyCustomView *myView = [[MyCustomView alloc] initWithFrame:CGRectMake(10,10,100,100)];
  myView.textField.actionBlock = { /* do stuff here! */ }
  [self.view addSubview:myView];
  </code></pre>
  
  <p>And then inside the MyCustomView class I would do something like:</p>
  
  <pre><code>- (BOOL)textFieldShouldReturn:(UITextField *)textField  {
      self.actionBlock();
      return NO;
  }
  </code></pre>
  
  <p>I'd like the customView to be the UITextFieldDelegate so that every time I do this I won't have to add all the delegate methods to the view controllers I'm adding it to, but rather have a single implementation that just does <strong><em>whatever</em></strong> I pass to it... How would one go about doing this in swift?</p>