在我的UIViewController中存储一个铸造的引用(到我的UIView的子类)是否可以?

时间:2014-02-25 22:14:45

标签: ios iphone objective-c uiview uiviewcontroller

在我的UIViewController子类中存储MyView的转换引用是否有任何危险?我每次想要使用实例变量/方法时都试图避免转换self.view,因为它看起来很难看。例如,让我们避免:

[((MyView *)self.view) instancedView]

castedViewself.view

同时定义

castedView.instancedViewcastedView的子视图,存储为实例变量(例如,我想附加点击事件监听器的UIButton)

MyViewController.h

@interface MyViewController : UIViewController
    @property MyView *castedView;
@end

MyViewController.m

@implementation MyViewController
    @synthesize castedView;

    - (void)viewDidLoad {
      [super viewDidLoad];
      castedView = [[MyView alloc] init];
      self.view = castedView;
      // ... create gestureRecognizer named "onTap" that calls "whenTapped" ...
      [castedView.instancedView addGestureRecognizer:onTap];
    }

    - (IBAction)whenTapped {
        castedView.instancedView.backgroundColor = [UIColor whiteColor];
    }
@end

感谢任何帮助。

0 个答案:

没有答案