iphone - 为什么我的变量没有被分配

标签 iphone objective-c cocoa cocoa-touch

好吧,我认为我对 Objective C 中属性的理解可能不是我想象的那样。

在我的程序中,我有一个包含我的类的单例。

在我的类(class)初始化期间,我将单例中的值分配给我的属性。

然后我为该属性的一个属性分配一个值。

但是它不会保留该值,当我对单例中的值进行比较时,没有任何变化。这里发生了什么?有什么想法吗?

@interface MainGameLoop : NSObject {
    MapData *mapData;
}

@property (retain) MapData *mapData;

-(id) init
{
    self = [super init];
    GlobalVariables *sharedManager = [GlobalVariables sharedManager];
    self.mapData = sharedManager.mapData;   
    return self;
}

在我的类(class)的函数中:

作品:

sharedManager.mapData.currentPlayer = newCurrentPlayer;

什么也不做:

self.mapData.currentPlayer == newCurrentPlayer;

最佳答案

self.mapData.currentPlayer == newCurrentPlayer;

您确定要在那里有两个等号吗?该语句在语法上是正确的,并且将评估为 true 或 false。

关于iphone - 为什么我的变量没有被分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1694469/

相关文章:

objective-c - 如何找出我的应用程序变慢的原因?

swift - StatusItem 的操作在 Swift 中不起作用

iphone - UIImagePickerController 保存到磁盘然后加载到 UIImageView

iphone - 导航栏的副标题

iphone - 使用 UIManagedDocument 在 iOS 5 中预加载核心数据数据库

ios - 连接到 iOS 中需要用户名和密码的 JSON API

objective-c - 界面生成器和 Cocoa : wiring up behind an App Controller class

ios - 在 XCODE 中检查互联网连接时如何返回 BOOL

iphone - NSString sizeWithFont:constrainedToSize:无法正常工作

iphone - 无法将 NSXMLParser 委托(delegate)设置为自身