我有一个由数组组成的数组AnyObject.我想迭代它,并找到所有元素作为数组实例.
如何在Swift中检查对象是否属于给定类型?
我陷入了这种情况:
Ammo,有AmmoBox和Clip作为孩子.Weapon,有Firearm和Melee作为孩子.Firearm是抽象的,ClipWeapon和ShellWeapon孩子一样.Firearm,有一个void Reload(Ammo ammo);问题是,a ClipWeapon可以使用a Clip和an AmmoBox来重新加载:
public override void Reload(Ammo ammo)
{
if (ammo is Clip)
{
SwapClips(ammo as Clip);
}
else if (ammo is AmmoBox)
{
var ammoBox = ammo as AmmoBox;
// AddBullets returns how many bullets has left from its parameter
ammoBox.Set(clip.AddBullets(ammoBox.nBullets));
}
}
Run Code Online (Sandbox Code Playgroud)
但是,a ShellWeapon,只能用一个AmmoBox来重装.我能做到这一点: …