Ios 使用KVC设置CAEmitterLayer特性

Ios 使用KVC设置CAEmitterLayer特性,ios,particle-system,kvc,caemitterlayer,Ios,Particle System,Kvc,Caemitterlayer,我正在尝试动态更改CAEmitterLayer实例的属性。我正在调用setValue:forKey:如下:[self.mainViewController.mainView.spaceView.emitterLayer setValue:[NSNumber numberWithFloat:0]forKey:@“emitterCells.particle.velocityRange”]但我没有看到粒子发射器中有任何变化。如果通过硬编码将该属性设置为0,则不会发射粒子。是指向包含实现粒子系统的UIV

我正在尝试动态更改CAEmitterLayer实例的属性。我正在调用setValue:forKey:如下:
[self.mainViewController.mainView.spaceView.emitterLayer setValue:[NSNumber numberWithFloat:0]forKey:@“emitterCells.particle.velocityRange”]但我没有看到粒子发射器中有任何变化。如果通过硬编码将该属性设置为0,则不会发射粒子。是指向包含实现粒子系统的UIView的gist文件的链接。我知道KVC可能会因为漏打一些东西而变得很棘手,所以也许我只是在看一些明显的东西

所以也许我只是在看一些明显的东西

的确如此。问题在于这一行:

setValue:[NSNumber numberWithFloat:0] forKey:@"emitterCells.particle.velocityRange"
字符串“emitterCells.particle.velocityRange”
不是键

这是一条关键的道路。您需要调用
setValue:forKeyPath: