我需要把事情弄清楚Objective-C的內存管理:內存管理,事情是明確的
如果我宣佈在類的頭作爲伊娃對象沒有@property:
@interface MyFacebooDelegate : UIViewController
{
TableViewController *tableController;
}
...
@end
和一些地方在例如代碼- (void)viewDidLoad
我做的:
tableController = [[TableViewController alloc] init];
那麼,是釋放它最好的方式。如果我使即時對象成爲一個屬性會有什麼不同?以及如何在內存管理將太
@interface MyFacebooDelegate : UIViewController
{
TableViewController *tableController;
}
...
@end
@property (nonatomic, strong) TableViewController *tableController;
以下語法爲對象的viewController做到底:
.H
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) ViewController *viewController;
@end
.M
@implementation AppDelegate
@synthesize window = _window;
@synthesize viewController = _viewController;
- (void)dealloc
{
[_window release];
[_viewController release];
[super dealloc];
}
.....
@end
如果我想通過一個方法返回一個對象到另一個類,我需要autorelease
我t在方法體中,然後retain
它在接收端? 例如這種方法正是在方法體,並在接收方太做:
-(NSString *)getFriendId
{
NSArray *ar = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];
return [ar objectAtIndex:0];
}
我知道這個了很多,但我真的很困惑,需要你的幫助。
http://stackoverflow.com/search?q =%5Bobjective-c%5D ++內存+管理 – 2012-07-16 14:40:53