我的代码崩溃了,并且在传递2个CGColorRefs时我一直跟踪到一线崩溃。以下是对象:
CGColorRef startColor = [[UIColor colorWithWhite:0.92 alpha:1.0]CGColor];
CGColorRef endColor = [[UIColor colorWithWhite:0.94 alpha:1.0]CGColor];
NSLog(@"start: %@ end: %@", startColor, endColor);
NSLog返回崩溃。他们怎么了?
编辑 - 崩溃的地方:
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGFloat locations[] = { 0.0, 1.0 };
NSArray *colors = [NSArray arrayWithObjects:(__bridge_transfer id)startColor, (__bridge_transfer id)endColor, nil];
答案 0 :(得分:13)
ARC。弧。弧。 UIColor-> CGCOlor是ARC最重要的陷阱之一......
在这里深入了解:
http://weblog.bignerdranch.com/?p=296
我在这里写了一些关于ARC的一般最佳实践(包括你的问题):