创建一个对象,奇怪的问题

时间:2011-02-23 12:01:09

标签: iphone objective-c nsstring cocos2d-iphone nested

我有一个类“Projectiles”,我想用它创建一个对象。 为了最小化代码,我想从字符串中指定对象,它会清理很多。

实施例: 我有字符串,

tempenemy.atktype = @"homing_fireball";

现在我想在Projectiles类中创建一个具有相同名称的对象:

Projectiles *tempenemy.atktype;

这可能吗?所以最终结果将是来自Projectiles类的一个名为homing_fireball的对象。?

谢谢!

2 个答案:

答案 0 :(得分:1)

我怀疑这是可能的。但我不是Objective-c内核的专家。

我建议你将你的Projectile存储在NSMutableDictionary中。您可以使用@“homing_fireball”键存储对象。然后你可以用

之类的东西来引用它
Projectile *someProjectile = [myProjectiles objectForKey:tempenemy.atktype];

答案 1 :(得分:0)

如果我明白了你的意思,你是试图用一个atktype作为其成员来创建一个射弹物体?你打电话给主..

Projectiles* tempProjectiles = [[Projectiles alloc]initWithType:@"homing_fireball"];

你的projectiles.h

// blah blah blah
{
NSString* atktype;
}
@property (nonatomic, retain)NSString* atktype;
 -(id)initWithType:(NSString*)type;

你的projectiles.m

@synthesize atktype;
-(id)initWithType:(NSString*)type
{
      self = [super init];
         if(self)
          {
             atktype = type;
          }
     return self;
}