document.write('<link rel="stylesheet" href="http://gist.github.com/stylesheets/gist/embed.css"/>')





document.write('<div id=\"gist-138685\" class=\"gist\">\n  \n  \n    \n            \n\n      <div class=\"gist-file\">\n        <div class=\"gist-data gist-syntax\">\n          \n          \n          \n            <div class=\"gist-highlight\"><pre><div class=\"line\" id=\"LC1\"><span class=\"c1\">// Invoke after 2 second delay (useful for simulating slow operations)<\/span><\/div><div class=\"line\" id=\"LC2\"><span class=\"p\">[[<\/span><span class=\"n\">self<\/span> <span class=\"nl\">gh_proxyAfterDelay:<\/span><span class=\"mf\">2.0<\/span><span class=\"p\">]<\/span> <span class=\"nl\">listWithOffset:<\/span><span class=\"mi\">40<\/span> <span class=\"nl\">limit:<\/span><span class=\"mi\">20<\/span><span class=\"p\">];<\/span><\/div><div class=\"line\" id=\"LC3\">&nbsp;<\/div><div class=\"line\" id=\"LC4\"><span class=\"c1\">// Invoke on main thread (if you ran on a separate thread or NSOperation<\/span><\/div><div class=\"line\" id=\"LC5\"><span class=\"c1\">// and wanted to call back the delegate on the main thread)<\/span><\/div><div class=\"line\" id=\"LC6\"><span class=\"p\">[<\/span><span class=\"n\">self<\/span> <span class=\"nl\">listWithOffset:<\/span><span class=\"mi\">40<\/span> <span class=\"nl\">limit:<\/span><span class=\"mi\">20<\/span> <span class=\"nl\">delegate:<\/span><span class=\"p\">[<\/span><span class=\"n\">delegate_<\/span> <span class=\"nl\">gh_proxyOnMainThread:<\/span><span class=\"n\">YES<\/span><span class=\"p\">]];<\/span><\/div><div class=\"line\" id=\"LC7\"><span class=\"c1\">// Later, after listing, the connection invokes the delegate back on the <\/span><\/div><div class=\"line\" id=\"LC8\"><span class=\"c1\">// main thread<\/span><\/div><div class=\"line\" id=\"LC9\"><span class=\"p\">[<\/span><span class=\"n\">delegate_<\/span> <span class=\"nl\">connection:<\/span><span class=\"n\">self<\/span> <span class=\"nl\">didListWithOffset:<\/span><span class=\"mi\">40<\/span> <span class=\"nl\">limit:<\/span><span class=\"mi\">20<\/span><span class=\"p\">];<\/span><\/div><div class=\"line\" id=\"LC10\">&nbsp;<\/div><div class=\"line\" id=\"LC11\"><span class=\"c1\">// Invoke on thread<\/span><\/div><div class=\"line\" id=\"LC12\"><span class=\"p\">[[<\/span><span class=\"n\">self<\/span> <span class=\"nl\">gh_proxyOnThread:<\/span><span class=\"kr\">thread<\/span> <span class=\"nl\">waitUntilDone:<\/span><span class=\"n\">NO<\/span><span class=\"p\">]<\/span> <span class=\"nl\">listWithOffset:<\/span><span class=\"mi\">40<\/span> <span class=\"nl\">limit:<\/span><span class=\"mi\">20<\/span><span class=\"p\">];<\/span><\/div><div class=\"line\" id=\"LC13\">&nbsp;<\/div><div class=\"line\" id=\"LC14\"><span class=\"c1\">// Time the invocation<\/span><\/div><div class=\"line\" id=\"LC15\"><span class=\"n\">NSTimeInterval<\/span> <span class=\"n\">time<\/span><span class=\"p\">;<\/span><\/div><div class=\"line\" id=\"LC16\"><span class=\"p\">[[<\/span><span class=\"n\">self<\/span> <span class=\"nl\">gh_timedProxy:<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">time<\/span><span class=\"p\">]<\/span> <span class=\"nl\">listWithOffset:<\/span><span class=\"mi\">40<\/span> <span class=\"nl\">limit:<\/span><span class=\"mi\">20<\/span><span class=\"p\">];<\/span><\/div><div class=\"line\" id=\"LC17\"><span class=\"n\">NSLog<\/span><span class=\"p\">(<\/span><span class=\"s\">@&quot;Took %0.2fs&quot;<\/span><span class=\"p\">,<\/span> <span class=\"n\">time<\/span><span class=\"p\">);<\/span><\/div><\/pre><\/div>\n          \n        <\/div>\n\n        <div class=\"gist-meta\">\n          <a href=\"http://gist.github.com/raw/138685/fda1449e58337add4c6789793a1ec10343757875/gistfile1.m\" style=\"float:right;\">view raw<\/a>\n          <a href=\"http://gist.github.com/138685#file_gistfile1.m\" style=\"float:right;margin-right:10px;color:#666\">gistfile1.m<\/a>\n          <a href=\"http://gist.github.com/138685\">This Gist<\/a> brought to you by <a href=\"http://github.com\">GitHub<\/a>.\n        <\/div>\n      <\/div>\n    \n  \n<\/div>\n')
