0
据我所知,我可以在项目的多个视图控制器之间使用全局变量传输值。在多个视图控制器之间传输NSString变量的方法
但我希望知道在多视图控制器之间传输NSString变量的最佳方法,以及避免内存泄漏的方法。
欢迎任何评论
感谢
InterDev中
据我所知,我可以在项目的多个视图控制器之间使用全局变量传输值。在多个视图控制器之间传输NSString变量的方法
但我希望知道在多视图控制器之间传输NSString变量的最佳方法,以及避免内存泄漏的方法。
欢迎任何评论
感谢
InterDev中
到您的视图控制器之间传递参数的最佳方法是使用性能。如果适用,让您的应用程序委托在您的根视图控制器中设置初始值。然后,在您在导航堆栈上推新视图控制器之前设置属性,或者以模态方式创建新的视图控制器。例如: -
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];
}
泄漏内存