Objective-C - 添加一些属性而不扩展类,有没有办法?

时间:2014-06-11 20:17:19

标签: objective-c properties extending

问题在于:(当我使用Spritekit节点时,我需要在SKSpriteNode,SKLabelNode类等内部访问一些设置...设置存储在非常基本的类型(字符串,数组,浮点数).SpriteNode具有属性"名称"但这对我来说还不够,我需要一些数组字段,因为我需要更多的设置......

有什么方法可以添加这些设置让我们说SKNode类,以便它们可以成为SKSPriteNode和SKLabelNode类的一部分吗?

我不希望将NSDictionary字段作为MyScene(SKScene)类的成员来存储格式为key-> value的所有设置,因为访问它们需要更多不必要的编程逻辑。

我只想创建包含内部设置的节点,直接从该节点读取这些设置,并根据设置进行进一步操作。

2 个答案:

答案 0 :(得分:0)

子类化将是首选方法。

有一种叫做装饰模式的东西,但是用obj-c对你来说可能要困难得多。

答案 1 :(得分:0)

如果我正确地阅读您的需求,那么听起来您只想使用userdata属性。每个SKNode都有一个名为userdata的NSDictionary属性。您只需初始化它,然后添加您的数据。