maybe duplicated with some question, but I can't find them here.
CATransaction is a derived class of CAAnimation.It can modify properties of multiple layers at same time. It has two types of transactions:
a. explicit transaction, Submitting animation by invoking "begin","commit" explicitly,Reset duration.Transactions can be nesting;
b. implicit transaction. In addition to explicit transaction, any modifications for CALayer properties are implicit transaction, so the transaction will be submitted in the run-loop.
Hope it helps u.