【发布时间】:2010-12-11 06:51:42
【问题描述】:
内存管理在 iPhone 中是一个非常重要的问题。所以我要问一个非常笼统的问题。 有两种方法可以调用另一个类的 viewController。
方式一:
AnotherClassViewController *viewController = [[[AnotherClassViewController alloc] initWithNibName:@"AnotherClassView" bundle:nil] autorelease];
[self.navigationController pushViewController:viewController animated:YES];
方式2:
#import "AnotherClassViewController.h"
@interface ThisClassViewController : UIViewController{
AnotherClassViewController *myViewController;
}
@property (nonatomic, retain) AnotherClassViewController *myViewController;
@end
@implementation ThisClassViewController
@synthesize myViewController;
- (void) pushAnotherViewController{
if(self.myViewController == nil){
AnotherClassViewController *tempViewController = [[AnotherClassViewController alloc] initWithNibName:@"AnotherClassView" bundle:nil];
self.myViewController = tempViewController;
[tempViewController release];
}
[self.navigationController pushViewController:myViewController animated:YES];
}
- (void)dealloc{
self.myViewController = nil;
}
@end
那么显而易见的问题是,调用其他类的 viewController 的最佳方式是什么? 方式一还是方式二?
公开征求意见和建议。
请评论和投票。
【问题讨论】:
标签: iphone objective-c cocoa-touch memory-management uiviewcontroller