@@ -44,7 +44,7 @@
}
- (void)setModel:(RAEditDateModel *)model {
- if (_model.delegate) {
+ if (_model) {
_model.delegate = nil;
_model = model;
@@ -61,6 +61,11 @@
self.dateLabel.text = self.model.value;
+- (void)unbind {
+ _model = nil;
+ [self refresh];
+}
+
#pragma mark - Action
- (void)tapClick:(UITapGestureRecognizer *)tap {
@@ -62,6 +62,11 @@
self.startLabel.hidden = !_model.required;
#pragma mark - TextView Delegate
- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {
@@ -74,4 +74,9 @@
@end
@@ -81,6 +81,11 @@
#pragma mark - TextField Delegate
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
@@ -65,4 +65,9 @@
@@ -22,6 +22,7 @@ typedef enum {
@protocol RAEditModelDelegate <NSObject>
- (void)refresh;
+- (void)unbind;
@@ -30,6 +30,13 @@
+- (void)setDelegate:(id<RAEditModelDelegate>)delegate {
+ if (_delegate != delegate && _delegate && [_delegate respondsToSelector:@selector(unbind)]) {
+ [_delegate unbind];
+ }
+ _delegate = delegate;
- (void)updateDefaultValue {
@@ -31,4 +31,8 @@
+ [super setDelegate:delegate];