【发布时间】:2011-03-21 15:42:39
【问题描述】:
这是正确的内存管理吗?我想知道我是否应该在-viewDidLoad 中的alloc 之后release。
SomeViewController.h
#import <UIKit/UIKit.h>
@interface SomeViewController : UIViewController {
UIButton *someButton;
NSString *someString;
}
@property (nonatomic, retain) IBOutlet UIButton *someButton;
@property (nonatomic, copy) NSString *someString;
@end
SomeViewController.m
#import "SomeViewController.h"
@implementation SomeViewController
@synthesize someButton, someString;
- (void)viewDidLoad {
[super viewDidLoad];
someButton = [[UIButton alloc] init];
someString = [[NSString alloc] init];
}
- (void)viewDidUnload {
self.someButton = nil;
self.someString = nil;
}
- (void)dealloc {
[someButton release], self.someButton = nil;
[someString release], self.someString = nil;
[super dealloc];
}
@end
谢谢
编辑:还有一件事。如果我在 IB 中放置了 UIButton,我还需要 alloc 吗?
【问题讨论】:
标签: iphone objective-c xcode iphone-sdk-3.0 memory-management