为什么这段代码在模拟器上运行而在真实设备上崩溃?
我有一个非常简单的代码来绘制一个圆圈。代码子类UIView
化并在模拟器上运行良好(适用于 iOS 5.1 和 iOS 6.0)。
圈子.h
#import <UIKit/UIKit.h>
@interface Circle : UIView
@end
圆.m
#import "Circle.h"
@implementation Circle
-(CGPathRef) circlePath{
UIBezierPath *path = [UIBezierPath bezierPath];
[path addArcWithCenter:self.center radius:10.0 startAngle:0.0 endAngle:360.0 clockwise:YES];
return path.CGPath;
}
- (void)drawRect:(CGRect)rect
{
CGPathRef circle = [self circlePath];
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextAddPath( ctx, circle );
CGContextStrokePath(ctx);
}
@end
当我尝试在运行 iOS 5.1.1 的 iPad2 上执行代码时,出现错误 ( EXC_BAD_ACCESS(code=EXC_ARM_DA_ALIGN,address=0x31459241)
) CGContextAddPath( ctx, circle );
。
我不知道问题是什么。谁能指出我解决这个问题的正确方向?