与其他类共享对象?

时间:2011-04-13 03:08:01

标签: objective-c oop class share

我刚开始学习目标c。我有这些小问题和疑问,希望你们能帮助我。

我有一个ViewController,我称之为:GameViewController。

这个GameViewController将调用一个模型类“PlayerModel”(NSObject),这个PlayerModel包含“PlayerProfile”对象(它是一个NSObject)。

GameViewController中的viewDidLoad将调用并启动模型类:

playerModel = [[PlayerModel alloc] initWithInt:playerID];

然后,在我的PlayerModel initWithInt方法中,我通过从在线数据库中提取数据来填充PlayerProfile数据。我设法填充数据,但是当我想在gameViewController中调用它时

// This is gameViewController.m
....
playerModel.playerProfile.name;

但我收到此错误消息:“在PlayerProfile类型的对象上找不到属性名称”

我在gameViewController中NSLog的playerProfile,它的“(null)”,而当我在playerModel中的NSLog时,它有一些值。如何传递这些值并使其具有通用性,以便其他类可以使用它(设置值)?

1 个答案:

答案 0 :(得分:1)

关于“未找到属性名称”,我认为这是编译错误。您可能未能#import PlayerProfile.h中的GameViewController

如果gameViewController中的nilGameViewController,则您实际上尚未对其进行初始化,或playerModelnil。你确定在viewDidLoad实际运行后检查它吗?这可能比你想象的要晚。