is removeAllAnimations then adding animations the way to go?
<p>Some consultants built some code for us.  I'm looking at a method they wrote for UIView subclass.  It basically goes like this:</p>

<pre><code>- (void)startAnimation {
   [self.circle removeAllAnimations];

   // then some animation code for the circle.  The circle is a CAShapeLayer.
   [self.circle addAnimation:group forKey:@"animationPath"];
}
</code></pre>

<p>Two questions, is this a good way to implement animations?  Like remove all animations first, then add it?  I was wondering if this is an expensive operation to always remove the animations first because in another for loop somewhere else in the app, it basically looks at the objects and just calls:</p>

<pre><code>for (id points in pointsArray) {
   [points startAnimation];
}
</code></pre>

<p>I was wondering if blindly removing the animations and adding them back, without checking to see if the point object was already animating is ok and if I'd be taking a performance hit.  </p>

<p>Also, is there a way to check something is animating?  Looking at the code, the animation starts for all objects.  However if they are positioned off the screen, (because it's in a scrollView and it's not currently in view), the objects do not animate even though <code>startAnimation</code> is called on each object when they are created and added to the view.  Thanks.</p>
