关于iphone:创建一个对象,奇怪的问题

Creating an object, strange question

我有一个类"抛射体",我想用它创建一个对象。为了最小化代码,我想从一个字符串中指定对象,它将清除很多东西。

例子:我有绳子,

1
tempenemy.atktype = @"homing_fireball";

现在我想从抛射体类创建一个同名的对象:

1
Projectiles *tempenemy.atktype;

这有可能吗?所以最终的结果将是一个来自抛射类的物体,叫做"归航火球"。

谢谢!!


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

我建议你把你的子弹储存在一本不可更改的字典里。你可以用@"归巢火球"的键来储存物体。然后你可以用

1
Projectile *someProjectile = [myProjectiles objectForKey:tempenemy.atktype];

如果我明白你的意思,你想初始化一个以atktype为成员的抛射体对象?你打电话进来……

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

你的炮弹。

1
2
3
4
5
6
// blah blah blah
{
NSString* atktype;
}
@property (nonatomic, retain)NSString* atktype;
 -(id)initWithType:(NSString*)type;

你的炮弹。

1
2
3
4
5
6
7
8
9
10
@synthesize atktype;
-(id)initWithType:(NSString*)type
{
      self = [super init];
         if(self)
          {
             atktype = type;
          }
     return self;
}