如何在父屏和子屏之间共享变量?

时间:2011-03-01 14:08:50

标签: iphone

我有2个屏幕 - A和B. A是父母,初始化孩子 - B。

我希望屏幕A将一些数据传递给屏幕B(联系人ID)。使用将保存联系人ID的全局变量似乎是浪费,因为将使用此全局变量的唯一屏幕是A和B,而不是整个应用程序。

在Android中可以使用:     myIntent.putExtra(“key”,“value”);

我如何在iPhone中实现这一目标?

感谢。

2 个答案:

答案 0 :(得分:3)

您可以在B类上创建一个属性,例如

ClassB.h中的

......

@interface ClassB : UIViewController
{
  NSString *contactID;
}

@property (nonatomic, retain) NSString *contactID;

@end

然后把

@synthesize contactID

在ClassB的实现中。

现在你可以做到

ClassB *b = [[ClassB alloc] init];
b.contactID = @"something";

答案 1 :(得分:1)

在B视图控制器中创建属性,假设......

@property (nonatomic,copy) NSString *contactID;

...并以这种方式呈现视图控制器B之前指定您的联系人ID ...

viewControllerB.contactID = ...desiredContactID...;