【发布时间】:2011-04-22 08:58:15
【问题描述】:
我在实现文件中声明了一个实例变量,可以使用 synthesize 定义的属性访问它
@synthesize myProperty
现在,我想在 cocos2d 库的 MenuItem 的 Selector 事件中为这个属性分配一些东西。您可以将其视为在回调函数中访问 myProperty。出于某种原因,每当我访问该属性时,它都会显示“属性超出范围”。因此,我尝试将访问权限分配给 self.myProperty !
但现在我在 self.myProperty 中有内存泄漏。如果我在 dealloc 中释放 self.myProperty,那么它会抛出一个异常,说我也有 myProperty 释放。
更新 1:(代码)
NSString *voice;
@property (nonatomic,retain) NSString *voice; @合成声音;
-(void)repeatAlphabet:(id)sender
{
*// I cannot access the voice variable in this function.*
[[SimpleAudioEngine sharedEngine] playEffect:[[voice lowercaseString] stringByAppendingString:@".caf"]];
}
-(void) addRepeatButtonOnScreen
{
CCMenuItemImage * menuItem1 =[CCMenuItemImage itemFromNormalImage:@"image1.png"
selectedImage: @"image2.png"
target:self
selector:@selector(repeatAlphabet:)];
CCMenu *menu = [CCMenu menuWithItems:menuItem1,nil];
menu.position = ccp(30, 450);
[self addChild:menu];
}
【问题讨论】:
标签: iphone objective-c cocos2d-iphone