gpt4 book ai didi

objective-c - 使用 Objective-C 将值从一个对象传递到另一个对象

转载 作者:行者123 更新时间:2023-12-03 16:53:38 25 4
gpt4 key购买 nike

我有一个名为 GameScene 的类,它是 cocos2d 场景的子类。

在那里我有两层。游戏层和控制层。您可能已经知道我希望 ControlsLayer 在 GameLayer 中移动内容。准确地说,我试图从 ControlsLayer 控制 GameLayer 中的 cPBody。

目前,我正在尝试将指令从 ControlsLayer 路由回 GameScene,然后路由回 GameLayer。如果这是有道理的话。无论如何,我无法让它发挥作用。我有 PHP 背景,所以我认为我错误地将我的 PHP 经验应用到 Obj-C 中。

我的想法是,我应该能够使用类似的方法访问类/对象内的属性

aThing *someThing = someInstance->aThing;

从我一直在查看的示例代码来看,这看起来应该可行。但事实并非如此。这是代码,尽可能精简为 http://pastebin.com/d49c9d0be

问题不是我不知道如何解决这个特定问题,而是我不明白什么?

最佳答案

在 Objective-C 中,你需要定义访问器方法来获取实例变量,你不能像这样直接访问它,除非你从相同的类类型调用它(例如,当你实现 NSCopying 时)协议(protocol)并需要设置私有(private)变量,但现在不用担心)。

最简单的方法是使用 @property(retain) SomeClass *name; 在 header 中定义一个属性,并让 Objective-C 通过输入 @synthesize name 来生成它= instanceVariable; 在您的实现中。然后,您可以使用 object.name;[object name]; 访问该类外部的变量。有关更多信息,请查看属性和面向对象编程的文档。

关于objective-c - 使用 Objective-C 将值从一个对象传递到另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/698083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com