覆盖 UIViewController 的视图 属性

Override UIViewController's view property

我想覆盖我的 MYViewController : UIViewControllersetView: 方法,这样我就不允许有人将 view 的 属性 设置为 nil.

-(void)setView:(UIView*)view {
    if (view == nil)
       //ignore - make no change
    else 
       //default performance
}

我该怎么做?

@synthesize view = _view;

-(void)setView:(UIView*)view {
        if (view)
           _view = view;
    }

就这么简单就可以完成。如果 view 不为 nil,则设置变量。

仅当您需要默认行为时才调用超级 class 应该可以完成工作:

-(void)setView:(UIView*)view {
    if (view == nil) {
       //ignore - make no change
    }
    else {
       //default performance
       [super setView:view];
    }
}