我一直在尝试通过跟踪此线程来创建一个可以跨多个视图控制器使用的对象。
One instance across multiple views in Cocoa Touch
但它并没有为我工作。所以我从基础开始,看看发生了什么。我创建了一个对象的本地实例。
PlayerData *playerOne = [[PlayerData alloc] init];
playerOne.completedRound += 1;
我可以在调试器中检查这个,当我创建它时我看到所有值的0,然后通过适当的代码行更新,所以我觉得我的对象类写得正确。
当我尝试在头文件中定义对象时:
在我的UIViewController.h中,我添加了以下内容
#import "PlayerData.h"
PlayerData *playerOne;
@property (nonatomic, retain) PlayerData *playerOne;
在我的UIViewContoller.m中,我添加了以下内容
#import "PlayerData.h"
@synthesize playerOne;
playerOne.completedRound += 1;
我无法让它发挥作用。代码编译很好,但在调试器中查看实例,而不是变量。
答案 0 :(得分:1)
一些可能很愚蠢的问题:
[PlayerData init]
是否将您的财产初始化为零?UIViewController
alloc
/ init
PlayerData
对象之前,是否这样做了吗?