<?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>Carlan+Calazans &#187; mac</title>
	<atom:link href="http://carlancalazans.com/tag/mac/feed/" rel="self" type="application/rss+xml" />
	<link>http://carlancalazans.com</link>
	<description>{ Às vezes eu sonho com códigos }</description>
	<lastBuildDate>Thu, 28 Oct 2010 22:56:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Números em Objective-C</title>
		<link>http://carlancalazans.com/numeros-em-objective-c/</link>
		<comments>http://carlancalazans.com/numeros-em-objective-c/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 00:33:03 +0000</pubDate>
		<dc:creator>Carlan Calazans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aprendizado]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[objectivec]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://carlancalazans.com/?p=119</guid>
		<description><![CDATA[Objective-C pode ser considerado um cinto de utilidades baseado no C. Isso significa que todo o poder da linguagem pai está disponível, incluindo as diversas bibliotecas. Em todos os meus testes, quando precisei de tipos numéricos usei os tipos primitivos do C. A pouco tempo descobri que existe um problema nessa abordagem.
Dependendo do uso, acredito [...]]]></description>
			<content:encoded><![CDATA[<p>Objective-C pode ser considerado um cinto de utilidades baseado no C. Isso significa que todo o poder da linguagem pai está disponível, incluindo as diversas bibliotecas. Em todos os meus testes, quando precisei de tipos numéricos usei os tipos primitivos do C. A pouco tempo descobri que existe um problema nessa abordagem.</p>
<div id="attachment_120" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-120" title="Números" src="http://carlancalazans.com/wp-content/uploads/2009/02/cone.jpg" alt="Números" width="400" height="332" /><p class="wp-caption-text">4 8 15 16 23 42</p></div>
<p>Dependendo do uso, acredito que os tipos numéricos do C sejam mais indicados, mas ao desenvolver utilizando algumas classes, como NSArray onde não podemos incluir elementos que não sejam objetos, a coisa começa a complicar. O problema em questão não é a linguagem ou os seus criadores e sim a falta de conhecimento do programador.</p>
<p>Olhando a <a href="http://developer.apple.com/referencelibrary/index.html">documentação</a>, depois de uma boa garimpada, é possível encontrar referências que chamam atenção. <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/Reference/Reference.html">NSNumber</a> (subclasse de <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSValue_Class/Reference/Reference.html">NSValue</a>), NSInteger, NSUInteger. A primeira é a mais utilizada e é uma classe (imutável), o resto são somente sinônimos (typedef) para os tipos numéricos já conhecidos do C. Podemos criar um objeto da classe NSNumber através dos tipos signed (ou unsigned) char, short int, int, long int, float, double e BOOL.</p>
<p>Exemplos:</p>
<div class="codecolorer-container objc vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #a61390;">int</span> i <span style="color: #002200;">=</span> <span style="color: #2400d9;">123</span>;<br />
<span style="color: #a61390;">float</span> f <span style="color: #002200;">=</span> <span style="color: #2400d9;">123.45</span>;<br />
<span style="color: #a61390;">char</span> c <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">'c'</span>;<br />
<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> <span style="color: #002200;">*</span> intObject <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> numberWithInt<span style="color: #002200;">:</span>i<span style="color: #002200;">&#93;</span>;<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> <span style="color: #002200;">*</span> floatObject <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> numberWithFloat<span style="color: #002200;">:</span>f<span style="color: #002200;">&#93;</span>;<br />
<br />
<span style="color: #11740a; font-style: italic;">// isn't useful to me</span><br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> <span style="color: #002200;">*</span> yesObject <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> numberWithBool<span style="color: #002200;">:</span><span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span>;<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> <span style="color: #002200;">*</span> noObject <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> numberWithBool<span style="color: #002200;">:</span><span style="color: #a61390;">NO</span><span style="color: #002200;">&#93;</span>;<br />
<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> <span style="color: #002200;">*</span> doubleObject <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> numberWithDouble<span style="color: #002200;">:</span><span style="color: #2400d9;">123.456</span><span style="color: #002200;">&#93;</span>;<br />
<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> <span style="color: #002200;">*</span> charObject <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/"><span style="color: #400080;">NSNumber</span></a> numberWithChar<span style="color: #002200;">:</span>c<span style="color: #002200;">&#93;</span>;<br />
<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;intObject class = %@&quot;</span>, <span style="color: #002200;">&#91;</span>intObject className<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;floatObject class = %@&quot;</span>, <span style="color: #002200;">&#91;</span>floatObject className<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;yesObject class = %@&quot;</span>, <span style="color: #002200;">&#91;</span>yesObject className<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;noObject class = %@&quot;</span>, <span style="color: #002200;">&#91;</span>noObject className<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;doubleObject class = %@&quot;</span>, <span style="color: #002200;">&#91;</span>doubleObject className<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;CharObject class = %@&quot;</span>, <span style="color: #002200;">&#91;</span>charObject className<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
<br />
<span style="color: #11740a; font-style: italic;">// string representation</span><br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;<span style="color: #2400d9;">\n</span>&quot;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;String value of intObject = %@&quot;</span>, <span style="color: #002200;">&#91;</span>intObject stringValue<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;String value of floatObject = %@&quot;</span>, <span style="color: #002200;">&#91;</span>floatObject stringValue<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;String value of yesObject = %@&quot;</span>, <span style="color: #002200;">&#91;</span>yesObject stringValue<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;String value of noObject = %@&quot;</span>, <span style="color: #002200;">&#91;</span>noObject stringValue<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;String value of doubleObject = %@&quot;</span>, <span style="color: #002200;">&#91;</span>doubleObject stringValue<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;String value of CharObject = %@&quot;</span>, <span style="color: #002200;">&#91;</span>charObject stringValue<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
<br />
<span style="color: #11740a; font-style: italic;">// comparing</span><br />
<span style="color: #11740a; font-style: italic;">// the return will be NSOrderedAscending (greated than), NSOrderedSame (equal to)</span><br />
<span style="color: #11740a; font-style: italic;">// and NSOrderedDescending (less than).</span><br />
<span style="color: #002200;">&#91;</span>intObject compare<span style="color: #002200;">:</span>floatObject<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>floatObject compare<span style="color: #002200;">:</span>intObject<span style="color: #002200;">&#93;</span>;</div></div>
]]></content:encoded>
			<wfw:commentRss>http://carlancalazans.com/numeros-em-objective-c/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>String em Objective-C</title>
		<link>http://carlancalazans.com/string-em-objective-c/</link>
		<comments>http://carlancalazans.com/string-em-objective-c/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 12:18:32 +0000</pubDate>
		<dc:creator>Carlan Calazans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aprendizado]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[objectivec]]></category>

		<guid isPermaLink="false">http://carlancalazans.com/?p=60</guid>
		<description><![CDATA[Quando falamos de String em Objective-C estamos nos referindo as classes NSString e NSMutableString. Como no C, Strings são basicamente um array de caracteres Unicode.
Por que duas classes?
A diferença entre elas é que uma é imutável ( NSString ) e a outra ( NSMutableString ) pode ser modificada. No entanto, é possível atribuir uma nova [...]]]></description>
			<content:encoded><![CDATA[<p>Quando falamos de String em Objective-C estamos nos referindo as classes NSString e NSMutableString. Como no C, Strings são basicamente um array de caracteres <a href="http://www.unicode.org">Unicode</a>.</p>
<div id="attachment_80" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-80" title="String Theory" src="http://carlancalazans.com/wp-content/uploads/2009/02/string_theory.png" alt="String Theory from xkcd.com" width="400" height="386" /><p class="wp-caption-text">String Theory from xkcd.com</p></div>
<h4>Por que duas classes?</h4>
<p>A diferença entre elas é que uma é imutável ( NSString ) e a outra ( NSMutableString ) pode ser modificada. No entanto, é possível atribuir uma nova string em um ponteiro para a classe NSString. Dito isso, fica claro distinguir quando usar as classes mencionadas.</p>
<p>Abaixo temos pedaços de códigos com algumas (não todas) operações disponíveis.</p>
<div class="codecolorer-container objc vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #11740a; font-style: italic;">// creation</span><br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>firstName <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Carlan&quot;</span>;<br />
<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>lastName <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #a61390;">string</span><span style="color: #002200;">&#93;</span>; <span style="color: #11740a; font-style: italic;">// or [[NSString alloc] init]</span><br />
lastName <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Calazans&quot;</span>;<br />
<br />
<span style="color: #a61390;">char</span> cStr<span style="color: #002200;">&#91;</span><span style="color: #2400d9;">15</span><span style="color: #002200;">&#93;</span> <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">&quot;An old C string&quot;</span>;<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>cString <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> stringWithCString<span style="color: #002200;">:</span>cStr<span style="color: #002200;">&#93;</span>;<br />
<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableString_Class/"><span style="color: #400080;">NSMutableString</span></a> <span style="color: #002200;">*</span>fullNameMutable <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span>firstName mutableCopy<span style="color: #002200;">&#93;</span>;<br />
<br />
<span style="color: #11740a; font-style: italic;">// interpolation</span><br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>fullName <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> stringWithFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;%@ %@&quot;</span>, firstName, lastName<span style="color: #002200;">&#93;</span>;<br />
NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;My name is: %@&quot;</span>, fullName<span style="color: #002200;">&#41;</span>;<br />
<a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #a61390;">printf</span></a><span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">&quot;%s&quot;</span>, <span style="color: #002200;">&#91;</span>fullName cString<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
<br />
<span style="color: #11740a; font-style: italic;">// basic operations</span><br />
<span style="color: #11740a; font-style: italic;">//[firstName appendString:@&quot; Calazans&quot;]; // wont compile</span><br />
<span style="color: #002200;">&#91;</span>fullNameMutable appendString<span style="color: #002200;">:</span>lastName<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>fullNameMutable lowercaseString<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>fullNameMutable uppercaseString<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>fullNameMutable capitalizedString<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>fullNameMutable length<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>fullName writeToFile<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;/tmp/test.txt&quot;</span> atomically<span style="color: #002200;">:</span> <span style="color: #a61390;">YES</span><span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>fullNameMutable replaceString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Carlan&quot;</span> withString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Alan&quot;</span><span style="color: #002200;">&#93;</span>;<br />
<br />
<span style="color: #a61390;">NSRange</span> r <span style="color: #002200;">=</span> NSMakeRange<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">0</span>,<span style="color: #2400d9;">4</span><span style="color: #002200;">&#41;</span>; <span style="color: #11740a; font-style: italic;">// NSRange is not a class!</span><br />
<span style="color: #002200;">&#91;</span>fullNameMutable substringWithRange<span style="color: #002200;">:</span>r<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>fullNameMutable substringToIndex<span style="color: #002200;">:</span><span style="color: #2400d9;">4</span><span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>fullNameMutable substringFromIndex<span style="color: #002200;">:</span><span style="color: #2400d9;">4</span><span style="color: #002200;">&#93;</span>;<br />
<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableString_Class/"><span style="color: #400080;">NSMutableString</span></a> <span style="color: #002200;">*</span>stringWithSpaces <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot; my string &quot;</span> mutableCopy<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>stringWithSpaces trimLeadSpaces<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>stringWithSpaces trimTailSpaces<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>stringWithSpaces trimSpaces<span style="color: #002200;">&#93;</span>;<br />
<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>strA <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;stringA&quot;</span>;<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>strB <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;stringB&quot;</span>;<br />
<span style="color: #002200;">&#91;</span>string1 compare<span style="color: #002200;">:</span>string2<span style="color: #002200;">&#93;</span>;<br />
<span style="color: #002200;">&#91;</span>string1 caseInsensitiveCompare<span style="color: #002200;">:</span>string2<span style="color: #002200;">&#93;</span>;<br />
<br />
<a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>splitMe <span style="color: #002200;">=</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;carlan:calazans:29:brasileiro&quot;</span>;<br />
<span style="color: #002200;">&#91;</span>splitMe componentsSeparatedByString<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;:&quot;</span><span style="color: #002200;">&#93;</span>;</div></div>
<p>Procurei deixar bem poucos comentários para não sujar muito o código. Não fica tão complicado de ler por que o nome dos métodos já dizem o que eles fazem.</p>
]]></content:encoded>
			<wfw:commentRss>http://carlancalazans.com/string-em-objective-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pegando o conteúdo de uma url com Objective-C</title>
		<link>http://carlancalazans.com/pegando-o-conteudo-de-uma-url-com-objective-c/</link>
		<comments>http://carlancalazans.com/pegando-o-conteudo-de-uma-url-com-objective-c/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 01:16:52 +0000</pubDate>
		<dc:creator>Carlan Calazans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[aprendizado]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[objectivec]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://carlancalazans.com/?p=40</guid>
		<description><![CDATA[Desde ontem estava tentando pegar o conteúdo de uma url qualquer e imprimir no console. Até que não é tão complicado comparando com Ruby ou Python. Minha maior dificuldade foi converter de NSMutableData para NSString. Também não sei por que cargas d&#8217;águas não está funcionando para todas as urls, a do google, por exemplo.
Estou gostando [...]]]></description>
			<content:encoded><![CDATA[<p>Desde ontem estava tentando pegar o conteúdo de uma url qualquer e imprimir no console. Até que não é tão complicado comparando com <a href="http://www.ruby-lang.org">Ruby</a> ou <a href="http://www.python.org">Python</a>. Minha maior dificuldade foi converter de NSMutableData para NSString. Também não sei por que cargas d&#8217;águas não está funcionando para todas as urls, a do <a href="http://www.google.com.br">google</a>, por exemplo.</p>
<p>Estou gostando de Objective-C, mas sinto falta das facilidades de  <a href="http://www.ruby-lang.org">Ruby</a> e <a href="http://www.python.org">Python</a>, provavelmente por estar mais acostumado a elas. E é muito fácil se perder na chamada a métodos utilizando a sintaxe dos colchetes, pior se eles estiverem aninhados. Como estou programando utilizando o ubuntu a &#8220;dot-syntax&#8221; não está disponível, acredito que somente no Mac Os. É nessa hora que um bom editor de textos faz toda a diferença.</p>
<p>Pra quem se interessar, segue o código.</p>
<div class="codecolorer-container objc vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6e371a;">#import &lt;Foundation/Foundation.h&gt;</span><br />
<br />
<span style="color: #11740a; font-style: italic;">// 03-02-2009</span><br />
<span style="color: #11740a; font-style: italic;">// Carlan Calazans (carlancalazans at gmail.com)</span><br />
<br />
<span style="color: #11740a; font-style: italic;">//connection.h</span><br />
<span style="color: #a61390;">@interface</span> Connection<span style="color: #002200;">:</span> <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/"><span style="color: #400080;">NSObject</span></a><br />
<span style="color: #002200;">&#123;</span><br />
&nbsp; <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #002200;">*</span>strUrl;<br />
&nbsp; <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableData_Class/"><span style="color: #400080;">NSMutableData</span></a> &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #002200;">*</span>myReceivedData;<br />
<span style="color: #002200;">&#125;</span><br />
&nbsp; <span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> initialize;<br />
<span style="color: #a61390;">@end</span><br />
<br />
<span style="color: #11740a; font-style: italic;">//connection.m</span><br />
<span style="color: #a61390;">@implementation</span> Connection<br />
&nbsp; <span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> initialize<br />
&nbsp; <span style="color: #002200;">&#123;</span><br />
&nbsp; NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Started...&quot;</span><span style="color: #002200;">&#41;</span>;<br />
&nbsp; strUrl <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> stringWithFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;http://carlancalazans.com&quot;</span><span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;URL: %@&quot;</span>, strUrl<span style="color: #002200;">&#41;</span>;<br />
&nbsp; myReceivedData <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/Foundation/Classes/NSMutableData_Class/"><span style="color: #400080;">NSMutableData</span></a> dataWithContentsOfURL<span style="color: #002200;">:</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/"><span style="color: #400080;">NSURL</span></a> URLWithString<span style="color: #002200;">:</span>strUrl<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#93;</span> autorelease<span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Received %d bytes of data.&quot;</span>, <span style="color: #002200;">&#91;</span>myReceivedData length<span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span>;<br />
&nbsp; <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> <span style="color: #002200;">*</span>content <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/Foundation/Classes/NSString_Class/"><span style="color: #400080;">NSString</span></a> alloc<span style="color: #002200;">&#93;</span> initWithData<span style="color: #002200;">:</span>myReceivedData encoding<span style="color: #002200;">:</span>NSUTF8StringEncoding<span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Content received: %@&quot;</span>, content<span style="color: #002200;">&#41;</span>;<br />
&nbsp; NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Finished...&quot;</span><span style="color: #002200;">&#41;</span>;<br />
<br />
&nbsp; <span style="color: #002200;">&#91;</span>content release<span style="color: #002200;">&#93;</span>;<br />
&nbsp; <span style="color: #002200;">&#125;</span><br />
<span style="color: #a61390;">@end</span><br />
<br />
<span style="color: #11740a; font-style: italic;">//main.m</span><br />
<span style="color: #a61390;">int</span> main<span style="color: #002200;">&#40;</span><span style="color: #a61390;">int</span> argc, <span style="color: #a61390;">const</span> <span style="color: #a61390;">char</span> <span style="color: #002200;">*</span>argv<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#93;</span><span style="color: #002200;">&#41;</span><br />
<span style="color: #002200;">&#123;</span><br />
&nbsp; <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSAutoreleasePool_Class/"><span style="color: #400080;">NSAutoreleasePool</span></a> <span style="color: #002200;">*</span>pool <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/Foundation/Classes/NSAutoreleasePool_Class/"><span style="color: #400080;">NSAutoreleasePool</span></a> alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; Connection <span style="color: #002200;">*</span>con <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>Connection alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;<br />
&nbsp; <span style="color: #002200;">&#91;</span>con initialize<span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; <span style="color: #002200;">&#91;</span>con release<span style="color: #002200;">&#93;</span>;<br />
&nbsp; <span style="color: #002200;">&#91;</span>pool release<span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; <span style="color: #a61390;">return</span> <span style="color: #2400d9;">0</span>;<br />
<span style="color: #002200;">&#125;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://carlancalazans.com/pegando-o-conteudo-de-uma-url-com-objective-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dica: Objective-C no Ubuntu</title>
		<link>http://carlancalazans.com/dica-objective-c-no-ubuntu/</link>
		<comments>http://carlancalazans.com/dica-objective-c-no-ubuntu/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 00:53:32 +0000</pubDate>
		<dc:creator>Carlan Calazans</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[objectivec]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://carlancalazans.com/?p=16</guid>
		<description><![CDATA[Após ter lido alguns how-to&#8217;s aqui e ali, resolvi testar. Segui os seguintes passos:
sudo apt-get install gnustep gobjc gnustep-make libgnustep-base-dev
gnustep-netclasses gnustep-dl2

sudo chmod +x /usr/share/GNUstep/Makefiles/GNUstep.sh
Editei o ~/.bashrc e adicionei no final do arquivo:
#gnustep

GNUSTEP_ROOT=/usr/share/GNUstep
export GNUSTEP_ROOT
source $GNUSTEP_ROOT/Makefiles/GNUstep.sh
E agora eu consigo fazer isto:
dog.m
#import &#60;Foundation/NSObject.h&#62;
#import &#60;stdio.h&#62;

// 29-01-2009
// Carlan Calazans (carlancalazans at gmail.com)

// dog.h
@interface Dog: NSObject
&#123;
// instance variables
&#125;

&#160; -&#40;void&#41; bark;
&#160; -&#40;void&#41; [...]]]></description>
			<content:encoded><![CDATA[<p>Após ter lido alguns how-to&#8217;s <a title="Objective-c no Ubuntu 1" href="http://www.roccoangeloni.it/wp/2008/08/07/objectivec-on-ubuntu-linux">aqui</a> e <a title="Objective-c no Ubuntu 2" href="http://blog.msbbc.co.uk/2008/03/objective-c-in-ubuntu-with-gnustep.html">ali</a>, resolvi testar. Segui os seguintes passos:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> gnustep gobjc gnustep-make libgnustep-base-dev<br />
gnustep-netclasses gnustep-dl2<br />
<br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> +x <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>GNUstep<span style="color: #000000; font-weight: bold;">/</span>Makefiles<span style="color: #000000; font-weight: bold;">/</span>GNUstep.sh</div></div>
<p>Editei o ~/.bashrc e adicionei no final do arquivo:</p>
<div class="codecolorer-container bash vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">#gnustep</span><br />
<br />
<span style="color: #007800;">GNUSTEP_ROOT</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>GNUstep<br />
<span style="color: #7a0874; font-weight: bold;">export</span> GNUSTEP_ROOT<br />
<span style="color: #7a0874; font-weight: bold;">source</span> <span style="color: #007800;">$GNUSTEP_ROOT</span><span style="color: #000000; font-weight: bold;">/</span>Makefiles<span style="color: #000000; font-weight: bold;">/</span>GNUstep.sh</div></div>
<p>E agora eu consigo fazer isto:</p>
<p>dog.m</p>
<div class="codecolorer-container objc vibrant" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="objc codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6e371a;">#import &lt;Foundation/NSObject.h&gt;</span><br />
<span style="color: #6e371a;">#import &lt;stdio.h&gt;</span><br />
<br />
<span style="color: #11740a; font-style: italic;">// 29-01-2009</span><br />
<span style="color: #11740a; font-style: italic;">// Carlan Calazans (carlancalazans at gmail.com)</span><br />
<br />
<span style="color: #11740a; font-style: italic;">// dog.h</span><br />
<span style="color: #a61390;">@interface</span> Dog<span style="color: #002200;">:</span> <a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSObject_Class/"><span style="color: #400080;">NSObject</span></a><br />
<span style="color: #002200;">&#123;</span><br />
<span style="color: #11740a; font-style: italic;">// instance variables</span><br />
<span style="color: #002200;">&#125;</span><br />
<br />
&nbsp; <span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> bark;<br />
&nbsp; <span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> eat;<br />
&nbsp; <span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> chaseCat;<br />
<span style="color: #a61390;">@end</span><br />
<br />
<span style="color: #11740a; font-style: italic;">// dog.m</span><br />
<span style="color: #a61390;">@implementation</span> Dog<br />
&nbsp; <span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> bark<br />
&nbsp; <span style="color: #002200;">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #a61390;">printf</span></a><span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">&quot;Ruff, ruff, ruff...<span style="color: #2400d9;">\n</span>&quot;</span><span style="color: #002200;">&#41;</span>;<br />
&nbsp; <span style="color: #002200;">&#125;</span><br />
<br />
&nbsp; <span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> eat<br />
&nbsp; <span style="color: #002200;">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #a61390;">printf</span></a><span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">&quot;Im hungry, i love dog food.<span style="color: #2400d9;">\n</span>&quot;</span><span style="color: #002200;">&#41;</span>;<br />
&nbsp; <span style="color: #002200;">&#125;</span><br />
<br />
&nbsp; <span style="color: #002200;">-</span><span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> chaseCat<br />
&nbsp; <span style="color: #002200;">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #a61390;">printf</span></a><span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">&quot;I think i saw a pussy cat.<span style="color: #2400d9;">\n</span>&quot;</span><span style="color: #002200;">&#41;</span>;<br />
&nbsp; <span style="color: #002200;">&#125;</span><br />
<span style="color: #a61390;">@end</span><br />
<br />
<span style="color: #11740a; font-style: italic;">// main.m</span><br />
<span style="color: #a61390;">int</span> main <span style="color: #002200;">&#40;</span> <span style="color: #a61390;">int</span> argc, <span style="color: #a61390;">const</span> <span style="color: #a61390;">char</span> <span style="color: #002200;">*</span>argv<span style="color: #002200;">&#91;</span><span style="color: #002200;">&#93;</span> <span style="color: #002200;">&#41;</span><br />
<span style="color: #002200;">&#123;</span><br />
&nbsp; Dog <span style="color: #002200;">*</span>zorro <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>Dog alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; <span style="color: #002200;">&#91;</span>zorro chaseCat<span style="color: #002200;">&#93;</span>;<br />
&nbsp; <span style="color: #002200;">&#91;</span>zorro bark<span style="color: #002200;">&#93;</span>;<br />
&nbsp; <span style="color: #002200;">&#91;</span>zorro eat<span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; <span style="color: #002200;">&#91;</span>zorro release<span style="color: #002200;">&#93;</span>;<br />
<br />
&nbsp; <span style="color: #a61390;">return</span> <span style="color: #2400d9;">0</span>;<br />
<span style="color: #002200;">&#125;</span></div></div>
<p>Compilar com o gcc e rodar <img src='http://carlancalazans.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://carlancalazans.com/dica-objective-c-no-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

