我有一個類「投射物」,我想用它創建一個對象。 爲了最小化代碼,我想從字符串中指定對象,它會清理很多東西。創建一個對象,奇怪的問題
例子: 我有串,
tempenemy.atktype = @"homing_fireball";
現在我想從彈丸類相同的名稱創建一個對象:
Projectiles *tempenemy.atktype;
這可能嗎?所以最終的結果將成爲被稱爲homing_fireball的Projectiles類的一個對象。
謝謝!
我有一個類「投射物」,我想用它創建一個對象。 爲了最小化代碼,我想從字符串中指定對象,它會清理很多東西。創建一個對象,奇怪的問題
例子: 我有串,
tempenemy.atktype = @"homing_fireball";
現在我想從彈丸類相同的名稱創建一個對象:
Projectiles *tempenemy.atktype;
這可能嗎?所以最終的結果將成爲被稱爲homing_fireball的Projectiles類的一個對象。
謝謝!
我懷疑這是可能的。但我不是Objective-C內核的專家。
我建議你將你的子彈存放在一個NSMutableDictionary中。您可以使用@「homing_fireball」鍵來存儲對象。然後你就可以用類似
Projectile *someProjectile = [myProjectiles objectForKey:tempenemy.atktype];
引用它。如果我得到你的意思,你想初始化一個彈丸與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;
}
是http://stackoverflow.com/questions/1174093/的副本創建目標-C-類實例的名稱 – Woody 2011-02-23 12:04:53