お目汚し失礼致します。 これはiOS Second Stage Advent Calendar 2013の12月23日分の記事です。 @synchronizedがあるんだから、@backgroundがあっても良いじゃない。 そんな気持ちで書きました。 1. マクロを定義します 下記のようなマクロを定義します。 下記のようなもんをマクロとは言わん、という意見は受け付けません。 #define background \ try{}@finally{}\ __block void (^backgroundBlock)();\ [[NSOperationQueue mainQueue] addOperationWithBlock:^{\ dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{\