作者sorkayi (寻找奶昔)
看板MacDev
标题[问题] 旧程式 加入 ARC 功能
时间Fri Dec 7 22:16:11 2012
各位大大好
目前我有一支旧的程式
当初写的人都是用 alloc 的方式去做任何事情
像是 ABCLabel.text = [[NSString alloc] initWithString:@"XXX"];
但是之後都没有在 release 那个 NSString 所以会造成 memory leak 对嘛?
不知道我想的对不对 因为常常会造成 crash
我现在只要在 build 的时候勾选 ARC Yes 这样就行了嘛
还是也需要手动去加入 autorelease@@?
如
ABCLabel.text = [[[NSString alloc] initWithString:@"XXX"] autorelease];
感谢各位大大的收看...
--
走召石更白勺口拉
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.2.251
※ 编辑: sorkayi 来自: 122.117.2.251 (12/07 23:04)
1F:→ darktt:请爱用[NSString stringWithForma:@"XXX"] 12/07 23:23
2F:→ darktt: ^Format 12/07 23:24
有 我已经开始在修了
※ 编辑: sorkayi 来自: 122.117.2.251 (12/07 23:31)
3F:→ uranusjr:Xcode 有个 Convert to Objective-C ARC 的工具, 如果他 12/07 23:48
4F:→ uranusjr:真的从头到尾都只有 ini 没有 release 的话套起来应该超 12/07 23:48
5F:→ uranusjr:快, 你加了 autorelease 转换的时候要修的地方还更多XD 12/07 23:48
6F:→ darktt:不要太期待ARC,因为它什麽时候被释放你都不知道 12/08 00:31
刚刚已经有用那个工具转换了
不过在 addSubView 後 ibaction 都不能用了
才发现 viewcontroller 被 auto release....
※ 编辑: sorkayi 来自: 122.117.2.251 (12/08 01:09)
7F:→ uranusjr:所以原作者写了 [self addSubview:viewController.view]; 12/08 01:37
8F:→ uranusjr:这种东西...OMG HEE Z DOING EVERYTHING WRONGZ 12/08 01:39
u 大 我不懂你的意思
这个写法是 A_ViewController 中 写 B_ViewController* b = [[B_ViewController all]
initWithNib......];
然後 [self.view addSubView b.view];
你的意思是说这样写不好嘛@@
※ 编辑: sorkayi 来自: 36.239.202.219 (12/08 14:00)