这是我的AppDelegate.h(我已经在Appdelegate.m中合成了这个属性)
{
NSString *uName;
NSDictionary *messagesDict;
NSString *serve1r;
NSDictionary *firstGet;
}
@property (strong, nonatomic) UIWindow *window;
@property (copy, readwrite) NSString *uName;
@property (copy, readwrite) NSString *serve1r;
@property (retain, nonatomic) NSDictionary *firstGet;
我有树视图控制器,通过文本字段输入一些用户信息,并希望在其他视图控制器中共享这些对象(用户名,服务器IP ..)。 我在其他类(SecondVC和ThirdVC)中分配新变量,如下所示:
MyDelegate *sharedDa= (MyDelegate *)([[UIApplication sharedApplication]delegate]);
在这一点之后,我可以看到第二个类中的uName(记录它或显示在电子文本字段中),但我看不到第三个类中的任何内容。我的代码有什么问题可以帮到谁?
答案 0 :(得分:1)
这取决于您在视图控制器中设置此属性的方式,因为使用copy属性时,您将使用特定类型的setter / getter。 (见这里:NSString property: copy or retain?)
我建议您使用(强,非原子),因此您将始终保留指向同一对象的指针。 (当然,如果 - 应该是 - appDelegate实例总是相同的)
答案 1 :(得分:0)
可能另一个类实际上并未导入MyDelegate.h