我们假设我的方法看起来像这样。
-(void)doSmth {
NSString *one = [[NSString alloc] initWithFormat:@"%@",someNumber];
NSString *two = [[NSString alloc] initWithFormat:@"%@",someOtherNumer];
[one release];
}
项目是在没有ARC的情况下创建的。 我想把它转换成ARC。
我的问题是:转换成弧后会有泄漏吗?
由于
答案 0 :(得分:1)
没有。 ARC转换器将删除对release
的显式调用,编译器将在编译时自动为one
和two
插入释放调用。
最终结果:这里没有泄漏。
答案 1 :(得分:0)
您必须删除[one release];
,因为在ARC中会产生错误。
关于你的问题,在切换到ARC(并删除发布声明)后,它不会泄漏。
编辑: 编写这样的代码可能会更好:
NSString *one = [[NSString alloc] initWithFormat@"one"];
或者像这样:
NSString *one = @"one";
答案 2 :(得分:0)