<?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/"
	>

<channel>
	<title>Goodhustle Studios, maker of Beast Boxing 3D and Skybox &#187; objective-c</title>
	<atom:link href="http://www.goodhustle.com/blog/tag/objective-c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.goodhustle.com/blog</link>
	<description>The Goodhustle Studios Blog</description>
	<lastBuildDate>Fri, 18 Nov 2011 00:20:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>One way to fetch a random row from a CoreData entity</title>
		<link>http://www.goodhustle.com/blog/2010/04/one-way-to-fetch-a-random-row-from-a-coredata-entity/</link>
		<comments>http://www.goodhustle.com/blog/2010/04/one-way-to-fetch-a-random-row-from-a-coredata-entity/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 02:15:00 +0000</pubDate>
		<dc:creator>Gordon</dc:creator>
				<category><![CDATA[Dev Diary]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[coredata]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://www.goodhustle.com/blog/?p=62</guid>
		<description><![CDATA[I spent a little time looking around for a way to get a random row out of a CoreData entity, and I didn&#8217;t find too much, so I&#8217;ll post about it here. In my entity (let&#8217;s call it &#8220;Items&#8221;), there are 198 objects stored. I have a non-alphabetical Decimal &#8220;siteOrder&#8221; attribute that helps me sort [...]]]></description>
			<content:encoded><![CDATA[<p>I spent a little time looking around for a way to get a random row out of a CoreData entity, and I didn&#8217;t find too much, so I&#8217;ll post about it here. In my entity (let&#8217;s call it &#8220;Items&#8221;), there are 198 objects stored. I have a non-alphabetical Decimal &#8220;siteOrder&#8221; attribute that helps me sort by a canonical order dependent on its original source. Because I have this decimal attribute already, I can take advantage of it by using arc4random() (don&#8217;t forget to</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#import stdlib.h</div></td></tr></tbody></table></div>
<p>for it) to just pick out an appropriate random index, and then set that in an NSPredicate like this:</p>
<div class="codecolorer-container objc default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <a href="http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSFetchRequest_Class/"><span style="color: #400080;">NSFetchRequest</span></a> <span style="color: #002200;">*</span>request <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSFetchRequest_Class/"><span style="color: #400080;">NSFetchRequest</span></a> alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; <a href="http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSEntityDescription_Class/"><span style="color: #400080;">NSEntityDescription</span></a> <span style="color: #002200;">*</span>entity <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSEntityDescription_Class/"><span style="color: #400080;">NSEntityDescription</span></a> entityForName<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Item&quot;</span> inManagedObjectContext<span style="color: #002200;">:</span>managedObjectContext<span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; <span style="color: #002200;">&#91;</span>request setEntity<span style="color: #002200;">:</span>entity<span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #11740a; font-style: italic;">// Assumes that you know the number of objects per entity, and that your order starts at zero.</span><br />
&nbsp; &nbsp; <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSPredicate_Class/"><span style="color: #400080;">NSPredicate</span></a> <span style="color: #002200;">*</span>predicate <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSPredicate_Class/"><span style="color: #400080;">NSPredicate</span></a> predicateWithFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;siteOrder = %d&quot;</span>, arc4random<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">%</span> kNumItems<span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; <span style="color: #002200;">&#91;</span>request setPredicate<span style="color: #002200;">:</span>predicate<span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; <span style="color: #002200;">&#91;</span>request setFetchLimit<span style="color: #002200;">:</span><span style="color: #2400d9;">1</span><span style="color: #002200;">&#93;</span>;<br />
&nbsp; &nbsp; <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSError_Class/"><span style="color: #400080;">NSError</span></a> <span style="color: #002200;">*</span>error <span style="color: #002200;">=</span> <span style="color: #a61390;">nil</span>;<br />
&nbsp; &nbsp; <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSArray_Class/"><span style="color: #400080;">NSArray</span></a> <span style="color: #002200;">*</span>results <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>managedObjectContext executeFetchRequest<span style="color: #002200;">:</span>request error<span style="color: #002200;">:&amp;</span>error<span style="color: #002200;">&#93;</span>;</div></td></tr></tbody></table></div>
<p>Easy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.goodhustle.com/blog/2010/04/one-way-to-fetch-a-random-row-from-a-coredata-entity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

