ios将项目转换为弧形

时间:2012-04-30 21:06:07

标签: ios cocoa automatic-ref-counting

我们假设我的方法看起来像这样。

-(void)doSmth {
    NSString *one = [[NSString alloc] initWithFormat:@"%@",someNumber];

    NSString *two = [[NSString alloc] initWithFormat:@"%@",someOtherNumer];

    [one release];
}

项目是在没有ARC的情况下创建的。 我想把它转换成ARC。

我的问题是:转换成弧后会有泄漏吗?

由于

3 个答案:

答案 0 :(得分:1)

没有。 ARC转换器将删除对release的显式调用,编译器将在编译时自动为onetwo插入释放调用。

最终结果:这里没有泄漏。

答案 1 :(得分:0)

您必须删除[one release];,因为在ARC中会产生错误。

关于你的问题,在切换到ARC(并删除发布声明)后,它不会泄漏。

编辑: 编写这样的代码可能会更好:

NSString *one = [[NSString alloc] initWithFormat@"one"];

或者像这样:

NSString *one = @"one";

答案 2 :(得分:0)

enter image description here

如果我们需要转换为完成项目到ARC然后编辑 - >转换 - >到Objective-C ARC

或者如果您需要转换特定文件,那么projectNav - > build阶段 - >编译该特定.m文件中的源add -fno-objc-arc

enter image description here