与其他类共享对象?
问题描述:
我刚开始学习目标c。我有这些小问题和问题,希望你们能帮助我。与其他类共享对象?
我有一个ViewController,我把它叫做:GameViewController。
此GameViewController将调用模型类“PlayerModel”(NSObject),并且此PlayerModel包含“PlayerProfile”对象(其NSObject)。
的viewDidLoad中在GameViewController将调用并启动模型类:
playerModel = [[PlayerModel alloc] initWithInt:playerID];
然后,在我的PlayerModel initWithInt方法,我通过在线数据库获取数据填充PlayerProfile数据。我设法填充数据,但是当我想它调用gameViewController
// This is gameViewController.m
....
playerModel.playerProfile.name;
但我得到这个错误信息:
“属性名的类型PlayerProfile的对象未找到”我的NSLog的playerProfile在gameViewController,它的“(null)”,而当我NSLog中的playerModel,它有一些值。我如何传递这个值并使其具有通用性,以便其他类可以使用它(设置值)?
答
关于“未找到属性名称”,我认为这是一个编译错误。您可能没有在GameViewController
的#import PlayerProfile.h
。
如果gameViewController
是GameViewController
nil
那么无论你有没有真正初始化它,或playerModel
是nil
。你确定在viewDidLoad
实际运行后检查它吗?这可能比你想象的要晚。
你是对的,我没有在gameviewcontroller中导入PlayerProfile.h。 Bcuz我th我导入PlayerModel,和PlayerModel导入PlayerProfile,所以我tho我不需要导入PlayerProfile。谢谢,我今天学到了一些东西。无论如何,在我执行导入之后,没有编译错误,但它仍然为零。我不知道我的做法是否正确,也许我的程序流程不正确。你通常做什么,或者这种情况下的常见做法是什么? – phpnoob 2011-04-13 03:46:55
我找到了我的答案。要分享课程,可以使用单身人士。例如:http://classroomm.com/objective-c/index.php?action=printpage;topic=4090.0 – phpnoob 2011-04-13 10:22:20