<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments for Cocoa Is My Girlfriend</title>
	<atom:link href="http://www.cimgf.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cimgf.com</link>
	<description>Taglines are for Windows programmers</description>
	<lastBuildDate>Tue, 21 Feb 2012 00:49:57 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by Michael Tsai - Blog - Extending NSData and (Not) Overriding Dealloc</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1641</link>
		<dc:creator>Michael Tsai - Blog - Extending NSData and (Not) Overriding Dealloc</dc:creator>
		<pubDate>Tue, 21 Feb 2012 00:49:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1641</guid>
		<description>&lt;p&gt;[...] Tom Harrington: You can&#8217;t override -dealloc in a category. But thanks to associated objects, you don&#8217;t have to. If have some object A, and you associate a secondary object B with it, then when A gets deallocated, B will too. If you have something you really need to happen when A gets deallocated, you can call that code from B&#8217;s dealloc method. Bingo, deallocation code for A that runs in a separate class. [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] Tom Harrington: You can&rsquo;t override -dealloc in a category. But thanks to associated objects, you don&rsquo;t have to. If have some object A, and you associate a secondary object B with it, then when A gets deallocated, B will too. If you have something you really need to happen when A gets deallocated, you can call that code from B&rsquo;s dealloc method. Bingo, deallocation code for A that runs in a separate class. [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by sethk</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1640</link>
		<dc:creator>sethk</dc:creator>
		<pubDate>Sun, 19 Feb 2012 06:50:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1640</guid>
		<description>&lt;p&gt;I’ve done more digging and &lt;code&gt;dtruss(1)&lt;/code&gt; reports that &lt;code&gt;NSDataReadingMapped&lt;/code&gt; and &lt;code&gt;NSDataReadingMappedIfSafe&lt;/code&gt; behave identically when mapping a file from the local disk.  Here are the relevant syscalls:
&lt;pre&gt;
open(&quot;/mach_kernel&#092;0&quot;, 0x0, 0x1B6)               = 4 0
fstat64(0x4, 0x7FFF5FE205B8, 0x0)                = 0 0
mmap(0x0, 0xED84E4, 0x1, 0x2, 0x4, 0x100001F)            = 0x14AB000 0
close(0x4)               = 0 0
&lt;/pre&gt;
The flags passed to &lt;code&gt;mmap&lt;/code&gt; correspond to &lt;code&gt;PROT_READ&lt;/code&gt; and &lt;code&gt;MAP_FILE &#124; MAP_PRIVATE&lt;/code&gt;.
This is on 10.7, where it’s possible to run DTrace interactively.  If Matt Long’s situation was that he was able to create an NSData instance, but ran out of memory later while using it, it sounds like the memory was being locked somehow and couldn’t be evicted under memory pressure.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I’ve done more digging and <code>dtruss(1)</code> reports that <code>NSDataReadingMapped</code> and <code>NSDataReadingMappedIfSafe</code> behave identically when mapping a file from the local disk.  Here are the relevant syscalls:
<pre>
open("/mach_kernel&#092;0", 0x0, 0x1B6)               = 4 0
fstat64(0x4, 0x7FFF5FE205B8, 0x0)                = 0 0
mmap(0x0, 0xED84E4, 0x1, 0x2, 0x4, 0x100001F)            = 0x14AB000 0
close(0x4)               = 0 0
</pre>
The flags passed to <code>mmap</code> correspond to <code>PROT_READ</code> and <code>MAP_FILE | MAP_PRIVATE</code>.
This is on 10.7, where it’s possible to run DTrace interactively.  If Matt Long’s situation was that he was able to create an NSData instance, but ran out of memory later while using it, it sounds like the memory was being locked somehow and couldn’t be evicted under memory pressure.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by sethk</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1639</link>
		<dc:creator>sethk</dc:creator>
		<pubDate>Sat, 18 Feb 2012 22:31:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1639</guid>
		<description>&lt;p&gt;The documentation could definitely be more clear, but it looks like the new name for &lt;code&gt;NSDataReadingMapped&lt;/code&gt; is &lt;code&gt;NSDataReadingMappedIfSafe&lt;/code&gt;, which implies that it could fail in certain situations, such as when the file is on a removable medium.  This is covered in the Foundation release notes for 10.7.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>The documentation could definitely be more clear, but it looks like the new name for <code>NSDataReadingMapped</code> is <code>NSDataReadingMappedIfSafe</code>, which implies that it could fail in certain situations, such as when the file is on a removable medium.  This is covered in the Foundation release notes for 10.7.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by Tom Harrington</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1638</link>
		<dc:creator>Tom Harrington</dc:creator>
		<pubDate>Sat, 18 Feb 2012 18:10:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1638</guid>
		<description>&lt;p&gt;@sethk: What you describe for &lt;code&gt; NSDataReadingMappedAlways&lt;/code&gt; matches Matt&#039;s experience but contradicts the documentation. Even the constant&#039;s name implies mapping-- the idea that asking for the data to be &quot;always mapped&quot; means that it should instead be copied into memory is pretty strange. Maybe it&#039;s just a horrendously bad constant name. As for NSDataReadingMapped, that&#039;s deprecated, and part of the motivation here was to avoid deprecated API.&lt;/p&gt;

&lt;p&gt;@ihunter: In addition to sethk&#039;s comment, keep in mind that NSZombie is normally a debugging tool and is not typically used in release builds. I&#039;m not concerned about getting different behavior in this case because it would only happen in private testing and would not likely interfere with the intended purpose of enabling NSZombies.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@sethk: What you describe for <code> NSDataReadingMappedAlways</code> matches Matt&#8217;s experience but contradicts the documentation. Even the constant&#8217;s name implies mapping&#8211; the idea that asking for the data to be &#8220;always mapped&#8221; means that it should instead be copied into memory is pretty strange. Maybe it&#8217;s just a horrendously bad constant name. As for NSDataReadingMapped, that&#8217;s deprecated, and part of the motivation here was to avoid deprecated API.</p>

<p>@ihunter: In addition to sethk&#8217;s comment, keep in mind that NSZombie is normally a debugging tool and is not typically used in release builds. I&#8217;m not concerned about getting different behavior in this case because it would only happen in private testing and would not likely interfere with the intended purpose of enabling NSZombies.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by sethk</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1637</link>
		<dc:creator>sethk</dc:creator>
		<pubDate>Sat, 18 Feb 2012 07:00:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1637</guid>
		<description>&lt;p&gt;@ihunter, this doesn’t seem like a big problem, because the only things you should be doing in &lt;code&gt;dealloc&lt;/code&gt; calls are releasing resources.  Since &lt;code&gt;NSZombieEnabled&lt;/code&gt; causes no object memory to actually be freed, the issue of having an associated object that doesn’t get released seems unimportant.  Try it with &lt;code&gt;NSDeallocateZombies&lt;/code&gt; if you want some of the benefits without the memory leaks.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@ihunter, this doesn’t seem like a big problem, because the only things you should be doing in <code>dealloc</code> calls are releasing resources.  Since <code>NSZombieEnabled</code> causes no object memory to actually be freed, the issue of having an associated object that doesn’t get released seems unimportant.  Try it with <code>NSDeallocateZombies</code> if you want some of the benefits without the memory leaks.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by @ihunter</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1636</link>
		<dc:creator>@ihunter</dc:creator>
		<pubDate>Sat, 18 Feb 2012 04:42:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1636</guid>
		<description>&lt;p&gt;Beware! Associated objects are &lt;a href=&quot;http://stackoverflow.com/questions/8710263/objective-c-associated-objects-leaking-under-arc&quot; rel=&quot;nofollow&quot;&gt;leaking with NSZombies enabled&lt;/a&gt;, they are currently unusable for running specific code upon deallocation.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Beware! Associated objects are <a href="http://stackoverflow.com/questions/8710263/objective-c-associated-objects-leaking-under-arc" rel="nofollow">leaking with NSZombies enabled</a>, they are currently unusable for running specific code upon deallocation.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by sethk</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1635</link>
		<dc:creator>sethk</dc:creator>
		<pubDate>Sat, 18 Feb 2012 02:43:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1635</guid>
		<description>&lt;p&gt;&lt;code&gt;NSDataReadingMappedAlways&lt;/code&gt; assumes that you want the entire file contents in memory &lt;i&gt;always&lt;/i&gt;. To get the advantages of faulting reads, use &lt;code&gt;NSDataReadingMapped&lt;/code&gt;.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p><code>NSDataReadingMappedAlways</code> assumes that you want the entire file contents in memory <i>always</i>. To get the advantages of faulting reads, use <code>NSDataReadingMapped</code>.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by clarkcox</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1633</link>
		<dc:creator>clarkcox</dc:creator>
		<pubDate>Fri, 17 Feb 2012 22:43:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1633</guid>
		<description>&lt;p&gt;FYI: NSData&#039;s primitive methods are -length and -bytes.
Please file a bug on the documentation for not calling that out.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>FYI: NSData&#8217;s primitive methods are -length and -bytes.
Please file a bug on the documentation for not calling that out.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by davedelong</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1632</link>
		<dc:creator>davedelong</dc:creator>
		<pubDate>Fri, 17 Feb 2012 18:44:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1632</guid>
		<description>&lt;p&gt;Tom: I suppose that could work, but it would be a lot slower.  I would just do something like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;-(NSReturnType)frobnicateWithWadzinger:(NSWadzinger *)wad {
    return [_internalData frobnicateWithWadzinger:wad];
}&lt;/code&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Tom: I suppose that could work, but it would be a lot slower.  I would just do something like:</p>

<p><code>-(NSReturnType)frobnicateWithWadzinger:(NSWadzinger *)wad {
    return [_internalData frobnicateWithWadzinger:wad];
}</code></p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by Tom Harrington</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1631</link>
		<dc:creator>Tom Harrington</dc:creator>
		<pubDate>Fri, 17 Feb 2012 18:38:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1631</guid>
		<description>&lt;p&gt;Dave, would that mean implementing &lt;code&gt;-forwardInvocation:&lt;/code&gt; on the subclass and just having it forward to the internal NSData? And would that work for any class cluster?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Dave, would that mean implementing <code>-forwardInvocation:</code> on the subclass and just having it forward to the internal NSData? And would that work for any class cluster?</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by binkin82</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1630</link>
		<dc:creator>binkin82</dc:creator>
		<pubDate>Fri, 17 Feb 2012 18:28:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1630</guid>
		<description>&lt;p&gt;Great post, but isn&#039;t the fact that NSDataReadingMappedAlways doesn&#039;t work on iOS a gigantic bug? Does it always fail to work, or just in some cases?&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Great post, but isn&#8217;t the fact that NSDataReadingMappedAlways doesn&#8217;t work on iOS a gigantic bug? Does it always fail to work, or just in some cases?</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Extending NSData and (not) Overriding dealloc by davedelong</title>
		<link>http://www.cimgf.com/2012/02/17/extending-nsdata-and-not-overriding-dealloc/comment-page-1/#comment-1629</link>
		<dc:creator>davedelong</dc:creator>
		<pubDate>Fri, 17 Feb 2012 18:20:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1686#comment-1629</guid>
		<description>&lt;p&gt;Associated objects as deallocation observers is a neat trick, and one I&#039;ve used before.  But subclassing NSData isn&#039;t hard.  You just create a subclass, and forward all the method calls on to an internal NSData object that has the actual bytes (and created with -initWithBytesNoCopy:length:freeWhenDone:).  Then you have a proper -dealloc method where you can both release the internal NSData object and munmap the mapped file.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Associated objects as deallocation observers is a neat trick, and one I&#8217;ve used before.  But subclassing NSData isn&#8217;t hard.  You just create a subclass, and forward all the method calls on to an internal NSData object that has the actual bytes (and created with -initWithBytesNoCopy:length:freeWhenDone:).  Then you have a proper -dealloc method where you can both release the internal NSData object and munmap the mapped file.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on ZDS Code Style Guide by Coding Style &#124; Cocoanetics</title>
		<link>http://www.cimgf.com/zds-code-style-guide/comment-page-1/#comment-1627</link>
		<dc:creator>Coding Style &#124; Cocoanetics</dc:creator>
		<pubDate>Mon, 05 Dec 2011 10:55:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?page_id=990#comment-1627</guid>
		<description>&lt;p&gt;[...] adopted several styles I read about in the coding style guides by Google and Marcus Zarra, though I have to admit I only skimmed through these and picket a couple of things that made [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] adopted several styles I read about in the coding style guides by Google and Marcus Zarra, though I have to admit I only skimmed through these and picket a couple of things that made [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Saving JSON to Core Data by Krisso</title>
		<link>http://www.cimgf.com/2011/06/02/saving-json-to-core-data/comment-page-1/#comment-1623</link>
		<dc:creator>Krisso</dc:creator>
		<pubDate>Fri, 03 Jun 2011 10:15:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1424#comment-1623</guid>
		<description>&lt;p&gt;Awesome post, did that several months ago quite similarly! Nice work. I like the way you handle the KVC, one thing I&#039;d suggest though:&lt;/p&gt;

&lt;p&gt;A lot of web services / JSON data contains &quot;NULL&quot; values, as they map database entries with the null option enabled directly to null, i.e. : { edited_on : NULL } if there was never set a value..&lt;/p&gt;

&lt;p&gt;in that case you&#039;d add standard values to needed properties or skip the KVC process entirely, i.e:&lt;/p&gt;

&lt;p&gt;else if ((attributeType == NSDateAttributeType) &amp;&amp; ([value isKindOfClass:[NSNull class]]) &amp;&amp; (dateFormatter != nil)) {
            value = [dateFormatter dateFromString:@&quot;2010-01-01 12:00:00&quot;];
        }&lt;/p&gt;

&lt;p&gt;Cheers.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Awesome post, did that several months ago quite similarly! Nice work. I like the way you handle the KVC, one thing I&#8217;d suggest though:</p>

<p>A lot of web services / JSON data contains &#8220;NULL&#8221; values, as they map database entries with the null option enabled directly to null, i.e. : { edited_on : NULL } if there was never set a value..</p>

<p>in that case you&#8217;d add standard values to needed properties or skip the KVC process entirely, i.e:</p>

<p>else if ((attributeType == NSDateAttributeType) &amp;&amp; ([value isKindOfClass:[NSNull class]]) &amp;&amp; (dateFormatter != nil)) {
            value = [dateFormatter dateFromString:@"2010-01-01 12:00:00"];
        }</p>

<p>Cheers.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Saving JSON to Core Data by MondoMouseFan</title>
		<link>http://www.cimgf.com/2011/06/02/saving-json-to-core-data/comment-page-1/#comment-1622</link>
		<dc:creator>MondoMouseFan</dc:creator>
		<pubDate>Fri, 03 Jun 2011 07:49:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1424#comment-1622</guid>
		<description>&lt;p&gt;Thanks! I cannot wait for your next post, entitled &quot;How I worked around the changes in Mac OS X 10.7 and made MondoMouse fully compatible with Lion from DR 3 onwards.&quot;&lt;/p&gt;

&lt;p&gt;Looking forward to it! (^_^)&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Thanks! I cannot wait for your next post, entitled &#8220;How I worked around the changes in Mac OS X 10.7 and made MondoMouse fully compatible with Lion from DR 3 onwards.&#8221;</p>

<p>Looking forward to it! (^_^)</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Saving JSON to Core Data by Tom Harrington</title>
		<link>http://www.cimgf.com/2011/06/02/saving-json-to-core-data/comment-page-1/#comment-1621</link>
		<dc:creator>Tom Harrington</dc:creator>
		<pubDate>Thu, 02 Jun 2011 23:15:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1424#comment-1621</guid>
		<description>&lt;p&gt;@NachoMan, passing in a userInfo dictionary is a really good idea, it takes what I was doing with the date formatter and further generalizes it. With a set of known userInfo keys it would allow for all kinds of customization.&lt;/p&gt;

&lt;p&gt;@Cameron, Sure, this isn&#039;t everything, the motivation here was to replace setValuesForKeysWithDictionary with something more robust and safe, without getting into the other steps that are frequently necessary.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@NachoMan, passing in a userInfo dictionary is a really good idea, it takes what I was doing with the date formatter and further generalizes it. With a set of known userInfo keys it would allow for all kinds of customization.</p>

<p>@Cameron, Sure, this isn&#8217;t everything, the motivation here was to replace setValuesForKeysWithDictionary with something more robust and safe, without getting into the other steps that are frequently necessary.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Fixing the UISplitViewController Template by iPad: Design pattern for controller hierarchy in a UISplitViewController? - Applerr.com All about Apple Products - Applerr.com All about Apple Products</title>
		<link>http://www.cimgf.com/2010/05/24/fixing-the-uisplitviewcontroller-template/comment-page-1/#comment-1620</link>
		<dc:creator>iPad: Design pattern for controller hierarchy in a UISplitViewController? - Applerr.com All about Apple Products - Applerr.com All about Apple Products</dc:creator>
		<pubDate>Thu, 02 Jun 2011 22:03:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1019#comment-1620</guid>
		<description>&lt;p&gt;[...] I have found another blog post which addresses this particular situation on Cocoa is my girlfriend, see also the comment section of that entry. The post is a little basic and does not cover the [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] I have found another blog post which addresses this particular situation on Cocoa is my girlfriend, see also the comment section of that entry. The post is a little basic and does not cover the [...]</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Saving JSON to Core Data by Cameron</title>
		<link>http://www.cimgf.com/2011/06/02/saving-json-to-core-data/comment-page-1/#comment-1619</link>
		<dc:creator>Cameron</dc:creator>
		<pubDate>Thu, 02 Jun 2011 19:12:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1424#comment-1619</guid>
		<description>&lt;p&gt;This post is a good primer, but it gets a lot more complex in practice. Handling relationships, implementing create-or-update, and dealing with NSNull values/other parser/API quirks are just a few common scenarios that come to mind. It&#039;s also worth mentioning that there are a number of projects working on a generalized solution for this task. RestKit (http://github.com/twotoasters/RestKit) seems to have the most activity at the moment.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>This post is a good primer, but it gets a lot more complex in practice. Handling relationships, implementing create-or-update, and dealing with NSNull values/other parser/API quirks are just a few common scenarios that come to mind. It&#8217;s also worth mentioning that there are a number of projects working on a generalized solution for this task. RestKit (<a href="http://github.com/twotoasters/RestKit" rel="nofollow">http://github.com/twotoasters/RestKit</a>) seems to have the most activity at the moment.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Saving JSON to Core Data by NachoMan</title>
		<link>http://www.cimgf.com/2011/06/02/saving-json-to-core-data/comment-page-1/#comment-1618</link>
		<dc:creator>NachoMan</dc:creator>
		<pubDate>Thu, 02 Jun 2011 17:58:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1424#comment-1618</guid>
		<description>&lt;p&gt;This is pretty much the same thing I came up with mine, though I added a slight twist to mine.  You can add custom keys to the userInfo dictionary for attributes in your object model, allowing you to customize the keyPath within the JSON data that you want to retrieve.  This means the key name in Core Data can be different or can be the result of a deeply-nested property in the JSON data.&lt;/p&gt;

&lt;p&gt;Doing it this way also lets you specify a custom selector for doing special formatting / processing of the incoming value, in case you need to do something more than dateFromString: or numberWithInteger, etc.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>This is pretty much the same thing I came up with mine, though I added a slight twist to mine.  You can add custom keys to the userInfo dictionary for attributes in your object model, allowing you to customize the keyPath within the JSON data that you want to retrieve.  This means the key name in Core Data can be different or can be the result of a deeply-nested property in the JSON data.</p>

<p>Doing it this way also lets you specify a custom selector for doing special formatting / processing of the incoming value, in case you need to do something more than dateFromString: or numberWithInteger, etc.</p>]]></content:encoded>
	</item>
	<item>
		<title>Comment on Fixing the UISplitViewController Template by Matt Long</title>
		<link>http://www.cimgf.com/2010/05/24/fixing-the-uisplitviewcontroller-template/comment-page-1/#comment-1617</link>
		<dc:creator>Matt Long</dc:creator>
		<pubDate>Mon, 30 May 2011 14:54:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.cimgf.com/?p=1019#comment-1617</guid>
		<description>&lt;p&gt;@gareth,&lt;/p&gt;

&lt;p&gt;Unfortunately, I am still using Xcode 3 for many reasons. This will be one more I add to the list. Once they force us to upgrade, I&#039;ll probably spend more time figuring it out, but for now I am still on 3.2.6 to maintain sanity. I love the potential of Xcode 4, but I don&#039;t find it consistent enough to get real work done yet.&lt;/p&gt;

&lt;p&gt;-Matt&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@gareth,</p>

<p>Unfortunately, I am still using Xcode 3 for many reasons. This will be one more I add to the list. Once they force us to upgrade, I&#8217;ll probably spend more time figuring it out, but for now I am still on 3.2.6 to maintain sanity. I love the potential of Xcode 4, but I don&#8217;t find it consistent enough to get real work done yet.</p>

<p>-Matt</p>]]></content:encoded>
	</item>
</channel>
</rss>

