ARCを使う場合に __bridge __bridge_transfer __bridge_retained があるが、違いがよくわからなかったので調べたところ、 __bridge_transferと__bridge_retainedは使うべきでないという結論に達した。
__bridge_transferは__bridgeした後にCFReleaseをコールしているだけ、
__bridge_retainedは__bridgeした後にCFRetainをコールしているだけ、
だからである。
明示的に分けて書いた方が読みやすいと思う。