2011-02-23 47 views
0

我有一個類「投射物」,我想用它創建一個對象。 爲了最小化代碼,我想從字符串中指定對象,它會清理很多東西。創建一個對象,奇怪的問題

例子: 我有串,

tempenemy.atktype = @"homing_fireball"; 

現在我想從彈丸類相同的名稱創建一個對象:

Projectiles *tempenemy.atktype; 

這可能嗎?所以最終的結果將成爲被稱爲homing_fireball的Projectiles類的一個對象。

謝謝!

+0

是http://stackoverflow.com/questions/1174093/的副本創建目標-C-類實例的名稱 – Woody 2011-02-23 12:04:53

回答

1

我懷疑這是可能的。但我不是Objective-C內核的專家。

我建議你將你的子彈存放在一個NSMutableDictionary中。您可以使用@「homing_fireball」鍵來存儲對象。然後你就可以用類似

Projectile *someProjectile = [myProjectiles objectForKey:tempenemy.atktype]; 
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; 
}