【发布时间】:2014-02-24 03:09:24
【问题描述】:
我有几个需要访问相同变量的方法实现。例如,我有一个变量,我将用户的名字放入其中,并且我需要能够在同一个视图控制器内的所有各种方法实现中访问此变量。
我创建了一个名为“PotentialFriend”的自定义类,它是 NSObject 的子类。 PotentialFriend 的头文件还包含一个名为“name”的 NSString 属性。
在我的视图控制器的头文件中,我创建了一个名为“potentialFriend”的PotentialFriend 类的实例。我可以在 View Controller 的主文件中成功键入“_potentialFriend.name”,但如果我将其设置为等于 @"Steve" 之类的内容,它会在控制台中显示为 (null)。
但是,如果我执行以下操作,并实际初始化一个局部变量,我可以成功地获取该变量来保存数据:
PotentialFriend *potentialFriend = [[PotentialFriend alloc]init];
potentialFriend.name = @"Steve";
但这对我不起作用,因为我在这个 VC 中有另一个方法实现来设置 UITableView 的设置,我需要能够访问“potentialFriend.name”的值。
我知道如何做到这一点的唯一方法是使用全局变量,但就像我说的那样,我无法让全局变量实际保存数据。
任何想法为什么我不能让全局变量工作?
编辑:
我刚去进行了一次测试。我在 View Controller 的头文件中创建了一个 NSString 对象,并且能够成功地将其保存为全局变量,如下所示:
_potentialFriendz = @"Steve";
所以这一定与我创建了自己的名为 PotentialFriend 的自定义类有关,但我仍然不明白为什么这不起作用。
【问题讨论】:
标签: ios objective-c uitableview scope global-variables