我之前从未使用过非ARC,我尝试过ZXingObjC示例项目(QR Code Scanner),它是非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];
}
修改 好的,我一直在努力制作“EDIT - > Refactor - >转换为Objective-C ARC”,我得到:
答案 0 :(得分:2)
使用“ZXingOjbC”而不将其转换为arc projcet的另一种方法:
我在编译它的源代码时通过关闭arc来使用库,在同一项目中组合弧和非弧代码时它可以正常工作。
使用以下步骤:
答案 1 :(得分:0)
好的,我做的是:
项目现在完全适用于ARC。 我稍后会上传到github。