<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>GCD Archives - Richard Warrender</title>
	<atom:link href="https://richardwarrender.com/category/programming/gcd/feed/" rel="self" type="application/rss+xml" />
	<link>https://richardwarrender.com/category/programming/gcd/</link>
	<description>Creative Thinking, Clear Engineering</description>
	<lastBuildDate>Mon, 22 May 2023 16:21:15 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.2.9</generator>
<site xmlns="com-wordpress:feed-additions:1">219281189</site>	<item>
		<title>5 essential tips for using blocks effectively</title>
		<link>https://richardwarrender.com/2016/12/5-essential-tips-for-using-blocks/</link>
					<comments>https://richardwarrender.com/2016/12/5-essential-tips-for-using-blocks/#respond</comments>
		
		<dc:creator><![CDATA[Richard Warrender]]></dc:creator>
		<pubDate>Sat, 31 Dec 2016 17:43:53 +0000</pubDate>
				<category><![CDATA[GCD]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blocks]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[gcd]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Objective-C]]></category>
		<guid isPermaLink="false">https://richardwarrender.com/?p=1025</guid>

					<description><![CDATA[Objective-C Blocks are very powerful but often under-used or badly abused! Continuing on from my previous post on how to declare a block, here is a quick-fire list of 5 experience-earned tips that every developer should know. 1. typedef a block If you find yourself using a particular block syntax a lot or perhaps you [&#8230;]]]></description>
		
					<wfw:commentRss>https://richardwarrender.com/2016/12/5-essential-tips-for-using-blocks/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1025</post-id>	</item>
		<item>
		<title>How to declare a block</title>
		<link>https://richardwarrender.com/2016/10/how-to-declare-block/</link>
					<comments>https://richardwarrender.com/2016/10/how-to-declare-block/#respond</comments>
		
		<dc:creator><![CDATA[Richard Warrender]]></dc:creator>
		<pubDate>Mon, 10 Oct 2016 11:30:08 +0000</pubDate>
				<category><![CDATA[GCD]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blocks]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[gcd]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Objective-C]]></category>
		<guid isPermaLink="false">https://richardwarrender.com/?p=1020</guid>

					<description><![CDATA[Are you really sure on how to declare a block? How about all 4 variations? On iOS and macOS, it can be easy to forget Objective-C block syntax as it isn&#8217;t the most intuitive, especially now Swift is becoming the main language of new projects. Remembering the syntax is actually just a short click away [&#8230;]]]></description>
		
					<wfw:commentRss>https://richardwarrender.com/2016/10/how-to-declare-block/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1020</post-id>	</item>
		<item>
		<title>How to call a block after a delay</title>
		<link>https://richardwarrender.com/2012/02/how-to-call-block-after-delay/</link>
					<comments>https://richardwarrender.com/2012/02/how-to-call-block-after-delay/#comments</comments>
		
		<dc:creator><![CDATA[Richard Warrender]]></dc:creator>
		<pubDate>Wed, 22 Feb 2012 22:00:46 +0000</pubDate>
				<category><![CDATA[GCD]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[blocks]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[gcd]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[osx]]></category>
		<guid isPermaLink="false">http://richardwarrender.com/?p=412</guid>

					<description><![CDATA[On iOS and on OS X you sometimes need the User Interface to update after a short delay. The old way of doing it was calling the performSelector:withObject:afterDelay: selector on any NSObject subclass but that requires defining a new method in your class and you can only pass one object as a parameter. Instead, you [&#8230;]]]></description>
		
					<wfw:commentRss>https://richardwarrender.com/2012/02/how-to-call-block-after-delay/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">412</post-id>	</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using Disk
Database Caching 2/50 queries in 0.017 seconds using Memcached

Served from: richardwarrender.com @ 2026-05-03 01:41:24 by W3 Total Cache
-->