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]; }