【问题标题】:Pointer returning as nil in obj-c [closed]指针在 obj-c 中返回为 nil [关闭]
【发布时间】:2023-04-10 16:07:02
【问题描述】:

我正在像这样初始化一个指向 SPSprite 对象(麻雀框架)的指针......

SPSprite *mySprite = [[SPSprite alloc] init];

然后我将该指针保存在这样的 NSMutableDictionary 中...

[objectDynamic setObject:mySprite forKey:@"objectSprite"];

但是当我稍后尝试在代码中使用这个访问该对象时......

SPSprite *mySprite = [objectDynamic objectForKey:@"objectSprite"];

mySprite = 0x00000000 当我在调试器中查看它时,当我在 objectDynamic 上进行打印时,我得到了这个..

objectSprite = "<SPSprite: 0x162e7d40>";

这与分配/初始化时的情况相同,所以我对发生的事情有点困惑。

我正在使用 ARC。

【问题讨论】:

  • 您确定在setObject:forKey:objectForKey: 中使用相同的密钥吗?
  • 检查您在关键文字中是否有(不可见的)错字。或者使用一个常量全局字符串。

标签: ios objective-c sparrow-framework


【解决方案1】:

检查您的密钥是否相同(事实上,我会#define 它以避免拼写错误)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    • 2011-06-12
    • 1970-01-01
    相关资源
    最近更新 更多