我以前从未使用过非 ARC,我尝试过 ZXingObjC 示例项目(QR 码扫描仪),它既是非 ARC 项目,也是库。我从删除 autorealese、dealloc 等开始。但我遇到了“保留”,我还不知道如何处理它。我会很高兴,因为它将使我们很多人受益。
“保留”语句的示例:
if (zxd) {
input =
[ZXCaptureDeviceInput deviceInputWithDevice:zxd
ZXAV(error:nil)];
[input retain];
}
另一个:
- (void)setCaptureDevice:(ZXCaptureDevice *)device {
if (device == capture_device) {
return;
}
if(capture_device) {
ZXQT({
if ([capture_device isOpen]) {
[capture_device close];
}});
[capture_device release];
}
capture_device = [device retain];
}
编辑: 好的,我一直在尝试制作“编辑->重构->转换为Objective-C ARC”,我得到: