我有一個名爲Projectile的類(它繼承自Cocos2D CCSprite類,但我懷疑這與問題有關)。它所包含的是一個名爲'type'的int,我已將其作爲一個屬性。發生int屬性的無法識別的選擇器
Projectile.h:
@interface Projectile : CCSprite{
int type;
}
@property int type;
@end
Projectile.m:
#import "Projectile.h"
@implementation Projectile
@synthesize type;
@end
現在,所有我想要做的是設置在主類我的遊戲的性質,像這樣:
-(BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event{
Projectile *newProjectile = [CCSprite spriteWithSpriteFrameName:@"Bullet.png"];
newProjectile.position = spaceShip.position;
newProjectile.type = kLaser; // defined earlier as #define kLaser 1
[objectsSpriteSheet addChild:newProjectile z:kProjectileZValue];
[projectiles addObject:newProjectile];
return YES;
}
我每次運行它,它崩潰的newProjectile.type = kLaser行:
-[CCSprite setType:]: unrecognized selector sent to instance 0x1ed82f10
看起來好像太簡單了,弄錯了,Xcode清楚地知道屬性,因爲它會自動完成它,並且不會給我一個錯誤說它不存在。
我也得到了非常相似的代碼執行完美。
如果有人可以對此有所瞭解,我會非常感激,我確信我可以用另一種方式繞過它,但我想了解爲什麼這可能不起作用。
你確實是對的,多麼愚蠢的錯誤!非常感謝你! – SteveB
有趣的是:即使是分析版本也無法解決這個問題。 – LearnCocos2D
是的......對於任何與項目設置或組織者無關的東西,即編碼:),我現在使用另一種工具。它發現了很多分析不足的問題,而不是很有趣。 – YvesLeBorg