gpt4 book ai didi

ios - Objective-C:我的初始值没有被设置

转载 作者:行者123 更新时间:2023-11-29 02:39:38 26 4
gpt4 key购买 nike

我一直在为此烦恼,我似乎无法解决这个简单的问题。

我有一个扩展 CCNode 的类,这是标题:

#import "CCNode.h"

@interface ContentPane : CCNode

@property (nonatomic, strong) CCNode * _rockPath1;
@property (nonatomic, strong) CCNode * _rockPath2;
@property (nonatomic, strong) CCNode *_secondPath1;
@property (nonatomic, strong) CCNode *_secondPath2;

@property (nonatomic) int map;

-(void)generatePane;

@end

我正在尝试初始化此类,以便隐藏 _rockPath1、_rockPath2 等的可见性。但是,我在初始化时设置的值没有得到遵守。这是我的 init,在我的 init 中,我只是尝试设置 ._rockPath1 的位置,因为我知道那行代码有效,因为我在我的程序的其他地方有它并且它工作正常。

- (id)init {
self = [super init];
self.map = 0x11111111;
CCLOG(@"WHAT");
//_rockPath1.position = ccp(90,90);
self._rockPath1.position = ccp(90,90);
return self;
}

我的类初始化后,_rockPath1 没有我为它设置的位置,它仍然有 SpriteBuilder 中定义的值。奇怪的是,map 被设置为正确的值,但 position 却不正确。

最佳答案

看到您正在使用 SpriteBuilder,并假设您从 SpriteBuilder (文档根变量)对 _rockPath 等进行了分配,您必须在 didLoadFromCCB< 中对默认值进行初始化 (并删除你的 init 方法):

-(void) didLoadFromCCB 
{
self.map = 0x11111111;
_rockPath1.position = ccp(90,90);
}

问题是,init 方法运行创建节点的实例,这意味着它在应用 CCBReader 的分配之前运行。

关于ios - Objective-C:我的初始值没有被设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25945875/

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