2010-03-04 19 views

回答

1

到您的视图控制器之间传递参数的最佳方法是使用性能。如果适用,让您的应用程序委托在您的根视图控制器中设置初始值。然后,在您在导航堆栈上推新视图控制器之前设置属性,或者以模态方式创建新的视图控制器。例如: -

MyViewController* myViewController = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil]; 
myViewController. someStringVariable = someStringVariable; 
[self.navigationController pushViewController: myViewController animated:YES]; 
[myViewController release]; 

当传递NSString对象时,您通常会希望申报财产时使用copy而不是retain。 (详情请参见this previous SO question。)例如为:

@interface MyViewController : UIViewController 
{ 
    NSString* someStringVariable; 
} 

@property (nonatomic, copy) NSString* someStringVariable; 

@end 

避免通过释放在视图控制器的dealloc方法的属性,例如:

- (void)dealloc 
{ 
    [someStringVariable release]; 
    [super dealloc]; 
} 
泄漏内存
相关问题