<?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>CGstudio</title>
	<atom:link href="http://cgstudio.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://cgstudio.de</link>
	<description>Development Blog</description>
	<lastBuildDate>Mon, 06 Sep 2010 20:57:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Fleckies Puzzle App</title>
		<link>http://cgstudio.de/2010/09/06/fleckies-puzzle-app/</link>
		<comments>http://cgstudio.de/2010/09/06/fleckies-puzzle-app/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 20:56:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[Fleckies Reise]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Kinderbuch]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=507</guid>
		<description><![CDATA[Ein Kinderbuch erobert das iPhone Wer kann sich nicht an die kleinen Plastikbilderrahmen mit den Bildpuzzeln zum schieben darin erinnern? Gute alte Kindheit! Jetzt gibt es ein solches Schiebepuzzle für das iPhone. Nicht nur acht verschiedene Bilder warten darauf, in die richtige Reihenfolge geschoben zu werden, im freien Modus kann man sogar jedes beliebige Motiv [...]]]></description>
			<content:encoded><![CDATA[<p>Ein Kinderbuch erobert das iPhone</p>
<p>Wer kann sich nicht an die kleinen Plastikbilderrahmen mit den Bildpuzzeln zum schieben darin erinnern? Gute alte Kindheit! Jetzt gibt es ein solches Schiebepuzzle für das iPhone. Nicht nur acht verschiedene Bilder warten darauf, in die richtige Reihenfolge geschoben zu werden, im freien Modus kann man sogar jedes beliebige Motiv fotografieren und daraus sein eigenes Puzzle bauen. Im regulären Spiel kann man einen Teil des ersten Abenteuers von Fleckie, dem Marienkäfer erpuzzeln.</p>
<p>Der Held dieses Puzzles ist ein ganz besonderer Charakter. Fleckie – der Marienkäfer mit Kuhflecken auf den Flügeln – ist der Hauptdarsteller einer Kinderbuchserie von Markus Grimm. In seinen Büchern erlebt der kleine Käfer viele Abenteuer und reist um die Welt. Die Bücher sind interaktiv angelegt, so dass Kinder selbst in die Geschichte einsteigen und an bestimmten Punkten der Abenteuer weiter schreiben oder malen dürfen. Das Fleckie Puzzle erzählt einen Teil aus dem ersten Abenteuer „Fleckies Reise“ – so kann man acht Motive aus dem Buch zusammensetzen und erfährt ein wenig über Fleckie und seine Freunde.</p>
<p>Als Buch gibt es bislang Fleckies Reise, Fleckies Zirkus und das Kinderkochbuch Fleckies Speise, mit Rezepten von Brian May, Eckart Witzigmann, Christian Rach, Nevio, Milka und vielen anderen. Die Bücher sind im Lokomotion Verlag erschienen, das Spiel zur Serie gibt es nun für 79 Cent im App-Store.</p>
<p>Markus Grimm ist Autor, Sänger und Moderator. Nach seinem Gewinn bei Popstars auf Pro7, hat er sich dem Schreiben verpflichtet und bereits sechs Bücher auf den Markt gebracht, darunter auch den Amazon-Bestseller: „Sex, Drugs &amp; Castingshows“ den er mit Martin Kesici zusammen geschrieben hat. Mit der Fleckie Reihe beschreitet er neue Wege und lässt Geschichten interaktiv erlebbar werden.</p>
<p>Informationen zu den Büchern: <a href="http://www.fleckie.com">www.fleckie.com</a></p>
<p>Informationen zu Markus Grimm: <a href="http://www.markusgrimm.com">www.markusgrimm.com</a></p>
<p><a title="Fleckies Reise" href="http://itunes.apple.com/app/fleckies-puzzle/id386809155?mt=8#">iTunes Preview</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/09/06/fleckies-puzzle-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schiebe Puzzle iPhone Spiel</title>
		<link>http://cgstudio.de/2010/07/30/schiebe-puzzle-iphone-spiel/</link>
		<comments>http://cgstudio.de/2010/07/30/schiebe-puzzle-iphone-spiel/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 18:51:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[Puzzle]]></category>
		<category><![CDATA[Schiebepuzzle]]></category>
		<category><![CDATA[Slidepuzzle]]></category>
		<category><![CDATA[Spiel]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=490</guid>
		<description><![CDATA[Gestern wurde ein einfaches Schiebe Puzzle Spiel im AppStore online gestellt. Es ist in Deutsch, Englisch, Spanisch, Französisch, Italienisch und Portugisisch verfügbar.]]></description>
			<content:encoded><![CDATA[<p>Gestern wurde ein einfaches Schiebe Puzzle Spiel im AppStore online gestellt. Es ist in Deutsch, Englisch, Spanisch, Französisch, Italienisch und Portugisisch verfügbar.</p>
<div><img class="alignleft size-full wp-image-491" title="sps1" src="http://cgstudio.de/wp-content/uploads/2010/07/sps1.png" alt="" width="160" height="230" align="top" /></div>
<div style="padding-left: 10px;"><img class="alignleft size-full wp-image-492" title="sps2" src="http://cgstudio.de/wp-content/uploads/2010/07/sps2.png" alt="" width="160" height="230" align="top" /></div>
<div style="padding-left: 10px;"><img class="alignleft size-full wp-image-493" title="sps3" src="http://cgstudio.de/wp-content/uploads/2010/07/sps3.png" alt="" width="160" height="230" align="top" /></div>
<div style="clear: both;"><a href="http://itunes.apple.com/de/app/schiebe-puzzle/id383058484?mt=8"><img title="avail_on_app_store2" src="http://cgstudio.de/wp-content/uploads/2009/04/avail_on_app_store2.png" alt="" border="0" style="border:0;" width="166" height="74" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/07/30/schiebe-puzzle-iphone-spiel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Border in UITableViews entfernen</title>
		<link>http://cgstudio.de/2010/07/23/border-in-uitableviews-entfernen/</link>
		<comments>http://cgstudio.de/2010/07/23/border-in-uitableviews-entfernen/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 09:20:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Interface Builder]]></category>
		<category><![CDATA[iPod touch]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=487</guid>
		<description><![CDATA[Wenn man in seiner UITableView keine Border Linien angezeigt haben möchte muss folgender Code in den UITableViewController eingefügt werden: - &#40;void&#41;viewDidLoad &#123; self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone; &#125; Mit self.tableView.separatorColor kann man die Farbe der Linie anpassen.]]></description>
			<content:encoded><![CDATA[<p>Wenn man in seiner UITableView keine Border Linien angezeigt haben möchte muss folgender Code in den UITableViewController eingefügt werden:</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span>viewDidLoad <span style="color: #002200;">&#123;</span>
    self.tableView.separatorStyle <span style="color: #002200;">=</span> UITableViewCellSeparatorStyleNone;
<span style="color: #002200;">&#125;</span></pre></div></div>

<p>Mit</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">self.tableView.separatorColor</pre></div></div>

<p>kann man die Farbe der Linie anpassen.</p>
]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/07/23/border-in-uitableviews-entfernen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>frame Attribut von Objekten einfach updaten mit CGRectOffset</title>
		<link>http://cgstudio.de/2010/07/20/frame-attribut-von-objekten-einfach-updaten-mit-cgrectoffset/</link>
		<comments>http://cgstudio.de/2010/07/20/frame-attribut-von-objekten-einfach-updaten-mit-cgrectoffset/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 19:44:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=483</guid>
		<description><![CDATA[Einen schnellen und Code sparenden Weg um das frame Attribut und damit die Position eines Objekt in Cocoa zu ändern bietet die CGRectOffset Funktion; meinObjekt.frame = CGRectOffset&#40; meinObjekt.frame, dx, dy&#41;; verschiebt um die Werte in den float Parametern dx und dy.]]></description>
			<content:encoded><![CDATA[<p>Einen schnellen und Code sparenden Weg um das frame Attribut und damit die Position eines Objekt in Cocoa zu ändern bietet die CGRectOffset Funktion;</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;">meinObjekt.frame <span style="color: #002200;">=</span> CGRectOffset<span style="color: #002200;">&#40;</span> meinObjekt.frame, dx, dy<span style="color: #002200;">&#41;</span>;</pre></div></div>

<p>verschiebt um die Werte in den float Parametern dx und dy.</p>
]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/07/20/frame-attribut-von-objekten-einfach-updaten-mit-cgrectoffset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>24h Rennen 2010</title>
		<link>http://cgstudio.de/2010/06/14/24h-rennen-2010/</link>
		<comments>http://cgstudio.de/2010/06/14/24h-rennen-2010/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 16:56:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[TV-Produktion]]></category>
		<category><![CDATA[24h Rennen]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[Kamera]]></category>
		<category><![CDATA[Nürburgring]]></category>
		<category><![CDATA[schnitt]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=480</guid>
		<description><![CDATA[Berichte vom 24h Rennen 2010 für Live-Strip-Racing.com unter http://www.live-strip-racing.com/videos.html]]></description>
			<content:encoded><![CDATA[<p>Berichte vom 24h Rennen 2010 für Live-Strip-Racing.com unter <a href="http://www.live-strip-racing.com/videos.html">http://www.live-strip-racing.com/videos.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/06/14/24h-rennen-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dreh AMICOM Leipzig 2010</title>
		<link>http://cgstudio.de/2010/05/05/dreh-amicom-leipzig-2010/</link>
		<comments>http://cgstudio.de/2010/05/05/dreh-amicom-leipzig-2010/#comments</comments>
		<pubDate>Wed, 05 May 2010 17:14:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[TV-Produktion]]></category>
		<category><![CDATA[amicom]]></category>
		<category><![CDATA[dreh]]></category>
		<category><![CDATA[Kamera]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=476</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="400" height=225" data="http://www.amicom-online.tv/site-media/flowplayer/flowplayer.commercial-3.1.5.swf" type="application/x-shockwave-flash"><param name="movie" value="http://www.amicom-online.tv/site-media/flowplayer/flowplayer.commercial-3.1.5.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="flashvars" value='config={"key":"#@dffbaf42b552fa0eb14","clip":{"url":"http://mediastore.freshmilk.de/media/mediastore/2234/web.flv","autoPlay":false},"screen":{"width":400,"height":225,"left":0,"top":0},"canvas":{"backgroundImage":"url(http://mediastore.freshmilk.de/media/mediastore/2234/preview.jpg)"},"logo":{"url":"http://www.amicom-online.tv/site-media/themes/amicom-tv/embed-logo.png","fullscreenOnly":false}}' /></object><br/><a href="http://www.amicom-online.tv">AMICOM.TV</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/05/05/dreh-amicom-leipzig-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://mediastore.freshmilk.de/media/mediastore/2234/web.flv" length="14613148" type="video/x-flv" />
		</item>
		<item>
		<title>Fehlermeldung beim kompilieren QTCoreVideo101</title>
		<link>http://cgstudio.de/2010/03/25/fehlermeldung-beim-kompilieren-qtcorevideo101/</link>
		<comments>http://cgstudio.de/2010/03/25/fehlermeldung-beim-kompilieren-qtcorevideo101/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 22:42:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=472</guid>
		<description><![CDATA[Ich wollte gerade im XCode 3.2.1 den QTCoreVideo101 Sample Code von Apple bauen. Es gab aber in der Datei MyOpenGLView.m in Zeile 158 den Fehler: invalid conversion from &#8216;long int*&#8217; to &#8216;const GLint*&#8217;. Durch das Casting läuft es dann: [[self openGLContext] setValues:(GLint*)&#38;swapInterval forParameter:NSOpenGLCPSwapInterval];]]></description>
			<content:encoded><![CDATA[<p>Ich wollte gerade im XCode 3.2.1 den QTCoreVideo101 Sample Code von Apple bauen.<br />
Es gab aber in der Datei MyOpenGLView.m in Zeile 158 den Fehler: invalid conversion from &#8216;long int*&#8217; to &#8216;const GLint*&#8217;.<br />
Durch das Casting läuft es dann:</p>

<div class="wp_syntax"><div class="code"><pre class="obj-c" style="font-family:monospace;">[[self openGLContext] setValues:(GLint*)&amp;swapInterval forParameter:NSOpenGLCPSwapInterval];</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/03/25/fehlermeldung-beim-kompilieren-qtcorevideo101/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Bundesverfassung&#8221; App released</title>
		<link>http://cgstudio.de/2010/01/13/bundesverfassung-app-released/</link>
		<comments>http://cgstudio.de/2010/01/13/bundesverfassung-app-released/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 13:19:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[Bundesverfassung]]></category>
		<category><![CDATA[BV]]></category>
		<category><![CDATA[Gesetz]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[Jurist]]></category>
		<category><![CDATA[Recht]]></category>
		<category><![CDATA[Schweiz]]></category>
		<category><![CDATA[Schweizer Eidgenossenschaft]]></category>
		<category><![CDATA[Verfassung]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=451</guid>
		<description><![CDATA[&#8220;Bundesverfassung&#8221; enthält die Bundesverfassung der Schweizerischen Eidgenossenschaft vom 27. September 2009 in Deutsch, Französisch, Italienisch und Englisch. Die Sprache kann jederzeit geändert werden. Einzelne Artikel können in einer extra Favoritenliste gespeichert werden. Eine Suche über die Artikelnamen ist möglich.]]></description>
			<content:encoded><![CDATA[<p>&#8220;Bundesverfassung&#8221; enthält die Bundesverfassung der Schweizerischen Eidgenossenschaft vom 27. September 2009 in Deutsch, Französisch, Italienisch und Englisch. Die Sprache kann jederzeit geändert werden. Einzelne Artikel können in einer extra Favoritenliste gespeichert werden. Eine Suche über die Artikelnamen ist möglich.</p>

<a href='http://cgstudio.de/2010/01/13/bundesverfassung-app-released/screenshot-2010-01-10-15-43-05/' title='Screenshot-2010.01.10-15.43.05'><img width="104" height="150" src="http://cgstudio.de/wp-content/uploads/2010/01/Screenshot-2010.01.10-15.43.05.png" class="attachment-thumbnail" alt="Screenshot-2010.01.10-15.43.05" title="Screenshot-2010.01.10-15.43.05" /></a>
<a href='http://cgstudio.de/2010/01/13/bundesverfassung-app-released/screenshot-2010-01-10-15-43-17/' title='Screenshot-2010.01.10-15.43.17'><img width="104" height="150" src="http://cgstudio.de/wp-content/uploads/2010/01/Screenshot-2010.01.10-15.43.17.png" class="attachment-thumbnail" alt="Screenshot-2010.01.10-15.43.17" title="Screenshot-2010.01.10-15.43.17" /></a>
<a href='http://cgstudio.de/2010/01/13/bundesverfassung-app-released/screenshot-2010-01-10-15-43-44/' title='Screenshot-2010.01.10-15.43.44'><img width="104" height="150" src="http://cgstudio.de/wp-content/uploads/2010/01/Screenshot-2010.01.10-15.43.44.png" class="attachment-thumbnail" alt="Screenshot-2010.01.10-15.43.44" title="Screenshot-2010.01.10-15.43.44" /></a>
<a href='http://cgstudio.de/2010/01/13/bundesverfassung-app-released/screenshot-2010-01-10-15-43-58/' title='Screenshot-2010.01.10-15.43.58'><img width="104" height="150" src="http://cgstudio.de/wp-content/uploads/2010/01/Screenshot-2010.01.10-15.43.58.png" class="attachment-thumbnail" alt="Screenshot-2010.01.10-15.43.58" title="Screenshot-2010.01.10-15.43.58" /></a>

<p><a href="http://itunes.apple.com/de/app/bundesverfassung/"><img class="alignleft size-full wp-image-198" style="border:0;" title="avail_on_app_store2" src="http://cgstudio.de/wp-content/uploads/2009/04/avail_on_app_store2.png" alt="avail_on_app_store2" width="166" height="74" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/01/13/bundesverfassung-app-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Bundestag&#8221; App released</title>
		<link>http://cgstudio.de/2010/01/13/bundestag-app-released/</link>
		<comments>http://cgstudio.de/2010/01/13/bundestag-app-released/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 12:41:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[17. deutscher Bundestag]]></category>
		<category><![CDATA[Abgeordnete]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[Biografie]]></category>
		<category><![CDATA[Bundestag]]></category>
		<category><![CDATA[Foto]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[Reichstag]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=449</guid>
		<description><![CDATA[Bundestag bietet einen Überblick über alle 622 Mitglieder des 17. deutschen Bundestags. Aufgelistet nach Fraktionen, Bundesländern sowie Wahlkreisen. Zusätzlich ist eine Gesamtliste integriert. Zu jedem Mitglied gibt es eine Kurzbiografie und ein Foto. Weiterhin können Notizen zu jedem Abgeordneten angelegt werden.]]></description>
			<content:encoded><![CDATA[<p>Bundestag bietet einen Überblick über alle 622 Mitglieder des 17. deutschen Bundestags.</p>
<p>Aufgelistet nach Fraktionen, Bundesländern sowie Wahlkreisen. Zusätzlich ist eine Gesamtliste integriert.</p>
<p>Zu jedem Mitglied gibt es eine Kurzbiografie und ein Foto. Weiterhin können Notizen zu jedem Abgeordneten angelegt werden.</p>

<a href='http://cgstudio.de/2010/01/13/bundestag-app-released/screenshot-2010-01-03-17-48-57/' title='Screenshot-2010.01.03-17.48.57'><img width="104" height="150" src="http://cgstudio.de/wp-content/uploads/2010/01/Screenshot-2010.01.03-17.48.57.png" class="attachment-thumbnail" alt="Screenshot-2010.01.03-17.48.57" title="Screenshot-2010.01.03-17.48.57" /></a>
<a href='http://cgstudio.de/2010/01/13/bundestag-app-released/screenshot-2010-01-03-17-49-08/' title='Screenshot-2010.01.03-17.49.08'><img width="104" height="150" src="http://cgstudio.de/wp-content/uploads/2010/01/Screenshot-2010.01.03-17.49.08.png" class="attachment-thumbnail" alt="Screenshot-2010.01.03-17.49.08" title="Screenshot-2010.01.03-17.49.08" /></a>
<a href='http://cgstudio.de/2010/01/13/bundestag-app-released/screenshot-2010-01-03-17-49-17/' title='Screenshot-2010.01.03-17.49.17'><img width="104" height="150" src="http://cgstudio.de/wp-content/uploads/2010/01/Screenshot-2010.01.03-17.49.17.png" class="attachment-thumbnail" alt="Screenshot-2010.01.03-17.49.17" title="Screenshot-2010.01.03-17.49.17" /></a>
<a href='http://cgstudio.de/2010/01/13/bundestag-app-released/screenshot-2010-01-03-17-49-27/' title='Screenshot-2010.01.03-17.49.27'><img width="104" height="150" src="http://cgstudio.de/wp-content/uploads/2010/01/Screenshot-2010.01.03-17.49.27.png" class="attachment-thumbnail" alt="Screenshot-2010.01.03-17.49.27" title="Screenshot-2010.01.03-17.49.27" /></a>
<a href='http://cgstudio.de/2010/01/13/bundestag-app-released/screenshot-2010-01-03-17-49-46/' title='Screenshot-2010.01.03-17.49.46'><img width="104" height="150" src="http://cgstudio.de/wp-content/uploads/2010/01/Screenshot-2010.01.03-17.49.46.png" class="attachment-thumbnail" alt="Screenshot-2010.01.03-17.49.46" title="Screenshot-2010.01.03-17.49.46" /></a>

<p><a href="http://itunes.apple.com/de/app/bundestag/"><img class="alignleft size-full wp-image-198" style="border:0;" title="avail_on_app_store2" src="http://cgstudio.de/wp-content/uploads/2009/04/avail_on_app_store2.png" alt="avail_on_app_store2" width="166" height="74" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/01/13/bundestag-app-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NSString Templating</title>
		<link>http://cgstudio.de/2010/01/03/nsstring-templating/</link>
		<comments>http://cgstudio.de/2010/01/03/nsstring-templating/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 20:19:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Engine]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[NSString]]></category>
		<category><![CDATA[Template]]></category>
		<category><![CDATA[XCode]]></category>

		<guid isPermaLink="false">http://cgstudio.de/?p=436</guid>
		<description><![CDATA[Ich hab nach einem einfachen Template System gesucht das mit NSStrings funktioniert. Ich konnte zwar diesen älteren Blogeintrag finden aber das verlinkte Disk-Image war leider nicht mehr auf dem Server zu finden. Da ich die Idee aber sehr gut fand habe ich das Interface hier einmal nachgebaut. NSString+Template.h // // NSString+Template.h // // Created by [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hab nach einem einfachen Template System gesucht das mit NSStrings funktioniert. Ich konnte zwar <a href="http://weblog.scifihifi.com/2003/10/22/nsstringtemplating/" target="_blank">diesen älteren Blogeintrag</a> finden aber das verlinkte Disk-Image war leider nicht mehr auf dem Server zu finden. Da ich die Idee aber sehr gut fand habe ich das Interface hier einmal nachgebaut.<br />
NSString+Template.h</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">//</span>
<span style="color: #11740a; font-style: italic;">//  NSString+Template.h</span>
<span style="color: #11740a; font-style: italic;">//</span>
<span style="color: #11740a; font-style: italic;">//  Created by Danny Thüring on 12/25/09.</span>
<span style="color: #11740a; font-style: italic;">//  Copyright 2009 Danny Thuering. All rights reserved.</span>
<span style="color: #11740a; font-style: italic;">//</span>
&nbsp;
<span style="color: #6e371a;">#import </span>
&nbsp;
<span style="color: #a61390;">@interface</span> <span style="color: #400080;">NSString</span> <span style="color: #002200;">&#40;</span>Template<span style="color: #002200;">&#41;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> stringByParsingTagsWithStartDelimeter<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>startDelim endDelimeter<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>endDelim usingObject<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>object;
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p>NSString+Template.m</p>

<div class="wp_syntax"><div class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #11740a; font-style: italic;">//</span>
<span style="color: #11740a; font-style: italic;">//  NSString+Template.m</span>
<span style="color: #11740a; font-style: italic;">//</span>
<span style="color: #11740a; font-style: italic;">//  Created by Danny Thüring on 12/25/09.</span>
<span style="color: #11740a; font-style: italic;">//  Copyright 2009 Danny Thuering. All rights reserved.</span>
<span style="color: #11740a; font-style: italic;">//</span>
&nbsp;
<span style="color: #6e371a;">#import &quot;NSString+Template.h&quot;</span>
&nbsp;
<span style="color: #a61390;">@implementation</span> <span style="color: #400080;">NSString</span> <span style="color: #002200;">&#40;</span>Template<span style="color: #002200;">&#41;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span> stringByParsingTagsWithStartDelimeter<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>startDelim endDelimeter<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #400080;">NSString</span><span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span>endDelim usingObject<span style="color: #002200;">:</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">id</span><span style="color: #002200;">&#41;</span>object <span style="color: #002200;">&#123;</span>
	<span style="color: #400080;">NSScanner</span> <span style="color: #002200;">*</span>theScanner;
	<span style="color: #400080;">NSString</span> <span style="color: #002200;">*</span>text <span style="color: #002200;">=</span> <span style="color: #a61390;">nil</span>;
	<span style="color: #400080;">NSMutableString</span> <span style="color: #002200;">*</span>workString <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>self mutableCopy<span style="color: #002200;">&#93;</span> autorelease<span style="color: #002200;">&#93;</span>;
&nbsp;
	theScanner <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #400080;">NSScanner</span> scannerWithString<span style="color: #002200;">:</span>workString<span style="color: #002200;">&#93;</span>;
&nbsp;
	<span style="color: #a61390;">while</span><span style="color: #002200;">&#40;</span><span style="color: #002200;">&#91;</span>theScanner isAtEnd<span style="color: #002200;">&#93;</span> <span style="color: #002200;">==</span> <span style="color: #a61390;">NO</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#123;</span>
		<span style="color: #002200;">&#91;</span>theScanner scanUpToString<span style="color: #002200;">:</span>startDelim intoString<span style="color: #002200;">:</span><span style="color: #a61390;">NULL</span><span style="color: #002200;">&#93;</span>;
		<span style="color: #002200;">&#91;</span>theScanner scanUpToString<span style="color: #002200;">:</span>endDelim intoString<span style="color: #002200;">:&amp;</span>amp;text<span style="color: #002200;">&#93;</span>;
		<span style="color: #400080;">NSMutableString</span> <span style="color: #002200;">*</span>tmp <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>text mutableCopy<span style="color: #002200;">&#93;</span>;
		<span style="color: #002200;">&#91;</span>tmp appendString<span style="color: #002200;">:</span>endDelim<span style="color: #002200;">&#93;</span>;
		text <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>text stringByReplacingOccurrencesOfString<span style="color: #002200;">:</span>startDelim withString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;&quot;</span><span style="color: #002200;">&#93;</span>;
&nbsp;
		workString <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>workString stringByReplacingOccurrencesOfString<span style="color: #002200;">:</span>tmp withString<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span>object valueForKey<span style="color: #002200;">:</span>text<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span> mutableCopy<span style="color: #002200;">&#93;</span>;
		<span style="color: #002200;">&#91;</span>tmp release<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#125;</span>
&nbsp;
	<span style="color: #a61390;">return</span> workString;<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #a61390;">@end</span></pre></div></div>

<p>Das NSString Objekt wird dabei durch Categories um die Funktion <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre; ">stringByParsingTagsWithStartDelimeter:endDelimeter:usingObject:</span><br />
erweitert. Das NSString Objekt sollte dabei das Template enthalten. Die zu ersetzenden Felder müssen mit einem Start- und Endbegrenzer eingefasst sein. Zum Beispiel:</p>
<p>&lt;$ text /&gt;</p>
<p>In dem Fall sollte @&#8221;&lt;$ &#8221; und @&#8221; /&gt;&#8221; als Begrenzer angegeben werden. Als Objekt kann dann ein NSDictionary übergeben werden, dass unter dem Key &#8220;text&#8221; dann den zu ersetzenden Eintrag erhält. Es können aber auch andere Objekte benutzt werden die den Wert durch Key-Value-Programmierung zurückliefern.</p>
]]></content:encoded>
			<wfw:commentRss>http://cgstudio.de/2010/01/03/nsstring-templating/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
