覆盖 UIViewController 的 view 属性
Posted
技术标签:
【中文标题】覆盖 UIViewController 的 view 属性【英文标题】:Override UIViewController's view property 【发布时间】:2015-04-23 05:31:43 【问题描述】:我想重写我的MYViewController : UIViewController
的setView:
方法,这样,我不允许有人将view
的属性设置为nil
。
-(void)setView:(UIView*)view
if (view == nil)
//ignore - make no change
else
//default performance
我该怎么做?
【问题讨论】:
你真正想要什么?实现设置器? 是的。这样,如果通过了nil
,我应该忽略它。
【参考方案1】:
只有当你想要默认行为时才调用超类应该做的工作:
-(void)setView:(UIView*)view
if (view == nil)
//ignore - make no change
else
//default performance
[super setView:view];
【讨论】:
【参考方案2】:@synthesize view = _view;
-(void)setView:(UIView*)view
if (view)
_view = view;
就这么简单。如果view
不为零,则设置变量。
【讨论】:
以上是关于覆盖 UIViewController 的 view 属性的主要内容,如果未能解决你的问题,请参考以下文章
Monotouch:覆盖 UIViewController 方法的正确方法
从 UIViewController 中的 UITableView 中删除核心数据
Swift - UIViewController 与 UITableViewController 中的覆盖函数