【发布时间】:2013-08-28 12:07:07
【问题描述】:
我在我的应用程序中使用CAShapeLayer 和UIBezierPath。我有一个重新加载按钮。当我多次重新加载视图时,它给了我一个EXC_BAD_ACCESS 错误。这是我的代码:
self.layer.sublayers = nil;
NSInteger numOfDays = [self differenceBetweenTwoDatesFromDate:startDate toDate:endDate];
CGFloat widthOfComponent = numOfDays * dayWidth;
if (self.frame.size.width > widthOfComponent) {
DLog(@"%@",NSStringFromCGRect(self.frame))
widthOfComponent = self.frame.size.width - 2 * DIFFERENCE_FROM_ORIGIN;
dayWidth = widthOfComponent/numOfDays;
}
self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, widthOfComponent, self.frame.size.height);
[self reloadData];
[super layoutSubviews];
当我将新帧传递给 self.frame 时出现此错误。
【问题讨论】:
-
self.frame即将发布.. -
但这怎么可能?
-
什么是
self?不,self.frame不会被释放。 -
self 是我的 UIView 实例,我正在从视图控制器重新加载。
-
能否分享一下崩溃日志?它在哪一行崩溃了?
标签: ios exc-bad-access