iOS 自定义View视图刷新策略 发表于 2017-09-05 1.刷新数据####不可以在View创建的过程中使用属性值 123456789101112131415- (instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { [self setupSubViews]; } return self;}- (void)setupSubViews{//把属性值在view创建的过程中赋给空间 是错误的 if (self.monthDate) { [_monthButton setTitle:self.monthDate forState:UIControlStateNormal]; } } ####正确的做法 在view创建完成后主动调用自定义的refreshi方法刷新 1234567- (void)refreshDate{ //默认时间 if (self.monthDate) { [_monthButton setTitle:self.monthDate forState:UIControlStateNormal]; }} 刷新subViews从父视图移除 属性类的子视图需要赋空1234567891011121314-(void)clear{ _valueArr = nil; _descArr = nil; [_showInfoView removeFromSuperview];//先移除子视图的子视图 [self.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];//一句代码移除所有子视图 //属性类子视图 需要赋空 不然容易出错 _showInfoView = nil; _pieForeView = nil; }