基本的なことですが、通信にかかる時間やダウンロードをしたデータをパースするなどユーザーに極力待たせずに処理を終わらせるのが望ましいとは思います。 連続した処理などで実際どの処理で時間がかかっていたのか知らずにやっていて、調べてみたら思っていた所と違う場所で処理に時間がかかっていた、、、ということがあったので忘備録的に書いてみます。 // インスタンス変数 NSDate *startDate; NSDate *endDate; // 処理開始位置で現在時間を代入 startDate = [NSDate date]; // 処理終了位置で現在時間を代入 endDate = [NSDate date]; // 開始時間と終了時間の差を表示 NSTimeInterval interval = [endDate timeIntervalSinceDate:startDate]; NSLog(@"処理
![通信、パースなど処理にかかる時間を計測する。 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/40f20e094782c8130d4913478108923067d85ad4/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU5JTgwJTlBJUU0JUJGJUExJUUzJTgwJTgxJUUzJTgzJTkxJUUzJTgzJUJDJUUzJTgyJUI5JUUzJTgxJUFBJUUzJTgxJUE5JUU1JTg3JUE2JUU3JTkwJTg2JUUzJTgxJUFCJUUzJTgxJThCJUUzJTgxJThCJUUzJTgyJThCJUU2JTk5JTgyJUU5JTk2JTkzJUUzJTgyJTkyJUU4JUE4JTg4JUU2JUI4JUFDJUUzJTgxJTk5JUUzJTgyJThCJUUzJTgwJTgyJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1hMDNhYzIwODFlMzk3MWYyNDE1NWVjOWQzMzg4NmE3Mw%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwUWlpYyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NDE3NWUzZmEyYjI0ZThjMDQwMGI3Y2I1NzVmMzFiOGY%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Df8a865d5a8e27da69cd36618312d10b2)