sdk5的xcode自带了arc,虽然arc是比gc强大很多,但由于开发的习惯性,还有框架不适应,在arc还没足够稳定和安全以前,暂时还是使用手动alloc和release等。
至于如果取消arc,分3步:
1、project -> Build settings -> Apple LLVM complier 3.0 - Language -> objective-C Automatic Reference Counting设置为NO;
2、修改main.h
- @autoreleasepool {
- return UIApplicationMain(argc, argv, nil, NSStringFromClass([LTAppDelegate class]));
- }
修改为:
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
- int retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([LTAppDelegate class]));
- [pool release];
- return retVal;
其中LTAppDelegate就是你的appDelegate。
3、修改AppDelegate
- @property (retain, nonatomic) UIWindow *window;
将strong修改为retain。
最后别忘了添加dealloc
- -(void)dealloc
- {
- [_window release];
- [super dealloc];
- }