<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-584912900041935366</id><updated>2011-12-20T09:47:34.437-05:00</updated><category term='Rambling'/><category term='AddressBook'/><category term='Basics'/><category term='Memory Management'/><category term='Chronology'/><category term='Objects'/><category term='Examples'/><title type='text'>Cocoalate</title><subtitle type='html'>Adventures in the transition from C to Cocoa.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-1975954268839339305</id><published>2008-01-10T19:32:00.000-05:00</published><updated>2008-01-10T19:36:22.426-05:00</updated><title type='text'>Complacency</title><summary type='text'>I've had a few experiences lately that have silently demonstrated how much I've taken to Objective-C.First, I've started to forget even more about the basic POSIX function parameters.  I used to resort to reading man pages all the time, just to make sure I got the parameters right, but there were a few functions that I had down.  Now I've forgotten those few that I had down, causing all kinds of </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/1975954268839339305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=1975954268839339305' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/1975954268839339305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/1975954268839339305'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2008/01/complacency.html' title='Complacency'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-517068166516264037</id><published>2007-11-27T21:07:00.000-05:00</published><updated>2007-11-27T21:09:46.848-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rambling'/><title type='text'>Too much, Too little</title><summary type='text'>Objective-C 2.0 has completely changed the game (and rendered most of the earlier gdb tricks mentioned to no longer work as well).  That said, it has also added some pretty slick new features that I hope I'll be able to give justice to once I get some more free time and some more coherent thoughts.Just thought I'd let y'all know where things were.</summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/517068166516264037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=517068166516264037' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/517068166516264037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/517068166516264037'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/11/too-much-too-little.html' title='Too much, Too little'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-2992408789516731069</id><published>2007-11-01T18:36:00.001-04:00</published><updated>2007-11-01T20:11:40.987-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Objects'/><title type='text'>Best console log message ever</title><summary type='text'>I was put between a rock and a hard place.  Basically, I had to call a method on a class that isn't exported (i.e. I'm in plugin-space, and it needs to invoke something on an application-internal class that isn't exported).  Through some trickery, I was able to get it working (man I love objective-C!).  However, inserting the plugin into an application that doesn't have such a class results in an</summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/2992408789516731069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=2992408789516731069' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/2992408789516731069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/2992408789516731069'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/11/best-console-log-message-ever.html' title='Best console log message ever'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-7886007524177933242</id><published>2007-10-31T14:41:00.000-04:00</published><updated>2007-10-31T14:51:18.878-04:00</updated><title type='text'>NSInvocation and version detection</title><summary type='text'>After upgrading from Tiger to Leopard, We've had to deal with several interface changes (mostly because we're using undocumented API/SPI stuff).  To make code that still works and compiles on both, we need to create dynamic messages to get past the compiler checks and to use different objects/methods depending on the OS version.Solving version detection is trivial.  There are a few places that </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/7886007524177933242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=7886007524177933242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/7886007524177933242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/7886007524177933242'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/10/nsinvocation-and-version-detection.html' title='NSInvocation and version detection'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-5434151205816826168</id><published>2007-10-13T20:53:00.000-04:00</published><updated>2007-10-13T21:19:37.558-04:00</updated><title type='text'>More gdb-jutsu, 20071013</title><summary type='text'>I guess, since Cocoa is already fairly well covered by a billion sources (including Apple's examples in /Developer/Examples/ stuff, which gives a decent introduction to most technologies available), that I'll shift focus somewhat into the darker side of Cocoa development:  debugging, reverse engineering, and modifying applications.I've spent an embarrassing amount of time reverse engineering a </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/5434151205816826168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=5434151205816826168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/5434151205816826168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/5434151205816826168'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/10/more-gdb-jutsu-20071013.html' title='More gdb-jutsu, 20071013'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-6675295121635457785</id><published>2007-10-07T08:55:00.000-04:00</published><updated>2007-10-07T09:00:01.931-04:00</updated><title type='text'>gdb-jutsu</title><summary type='text'>gdb is a debugger used to find (and hopefully fix!) bugs in programs you're writing.  However, it also works on programs you aren't writing (i.e. you don't have the source code, and thus probably can't fix bugs without some super heavy lifting).  Since I've normally used it with C/C++ programs, I'm more familiar with those usages than with my current Objective-C usage, which has some different </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/6675295121635457785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=6675295121635457785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/6675295121635457785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/6675295121635457785'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/10/gdb-jutsu.html' title='gdb-jutsu'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-4568459022868543062</id><published>2007-08-06T17:24:00.000-04:00</published><updated>2007-08-06T17:38:58.769-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Examples'/><category scheme='http://www.blogger.com/atom/ns#' term='Objects'/><title type='text'>Anti-aliases</title><summary type='text'>Coming from a Linux background, I'm fairly comfortable with the idea of Symbolic Links.  These are kind of like shortcuts on steroids; they transparently pose as files residing elsewhere, allowing all kinds of power (and problems).Since OS X has some pretty strong Unix underpinnings, it came as no surprise to find that it supports Symbolic links out of the box.  Unfortunately, the only way to </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/4568459022868543062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=4568459022868543062' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/4568459022868543062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/4568459022868543062'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/08/anti-aliases.html' title='Anti-aliases'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-916416706967052498</id><published>2007-07-18T15:02:00.000-04:00</published><updated>2007-07-18T15:08:54.749-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chronology'/><category scheme='http://www.blogger.com/atom/ns#' term='Rambling'/><title type='text'>Second Nature</title><summary type='text'>I've been writing Cocoa plugins for Quartz Composer (see kineme.net for more details) pretty consistently for the past month or so.Such continual writing, especially in an already-existing application, has taught me many things, very quickly.  It's quite fun; I now wish that I had had the opportunity (or probably just the motivation) to work in such an environment when I was learning C or C++ or </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/916416706967052498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=916416706967052498' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/916416706967052498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/916416706967052498'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/07/second-nature.html' title='Second Nature'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-8936945370960536454</id><published>2007-06-26T20:36:00.000-04:00</published><updated>2007-06-26T21:23:43.696-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Memory Management'/><title type='text'>NSAutoReleasePool</title><summary type='text'>NSAutoReleasePool is Memory Management object used in Cocoa.  They act as a catch-all for allocations, cleaning up memory when objects are no longer needed.Instead of sticking strictly to retain and release, these pools allow us one more memory management method: autorelease.  This method puts our object in the most recently-created pool.  When these pools get freed, all the objects in them get </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/8936945370960536454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=8936945370960536454' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/8936945370960536454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/8936945370960536454'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/06/nsautoreleasepool.html' title='NSAutoReleasePool'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-7617342249340502883</id><published>2007-06-26T16:52:00.000-04:00</published><updated>2007-06-26T16:58:59.182-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AddressBook'/><category scheme='http://www.blogger.com/atom/ns#' term='Examples'/><title type='text'>AddressBook</title><summary type='text'>Ok, so I lied in my last post.  I do have some GUI stuff in the works, but it's taking exceptionally long to screenshot the whole procedure.  Sorry.But, I do have one nugget of sample goodness for you:  How to pull data out of the OS X AddressBook.#import &lt;Foundation/Foundation.h&gt;#import &lt;AddressBook/ABAddressBook.h&gt;#import &lt;AddressBook/ABMultiValue.h&gt;void printMultiValue(char *title,id prop, </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/7617342249340502883/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=7617342249340502883' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/7617342249340502883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/7617342249340502883'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/06/addressbook.html' title='AddressBook'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-8101596007436442266</id><published>2007-06-19T23:04:00.000-04:00</published><updated>2007-06-19T23:12:29.588-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rambling'/><title type='text'>Xcode Examples Coming Soon</title><summary type='text'>Normally I work in command-line land because it's far more familiar to me, and easier to control.  There's also naturally less code overhead, so you can focus on what's actually going on without all the extra fluff.  That said, any useful application will need a useful user-interface to actually help someone accomplish work.Xcode is Apple's IDE of choice for developing Cocoa applications.  To </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/8101596007436442266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=8101596007436442266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/8101596007436442266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/8101596007436442266'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/06/xcode-examples-coming-soon.html' title='Xcode Examples Coming Soon'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-4000585474744434859</id><published>2007-06-18T19:33:00.000-04:00</published><updated>2007-06-26T21:26:05.073-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Objects'/><category scheme='http://www.blogger.com/atom/ns#' term='Memory Management'/><title type='text'>Retain and Release, and Object Creation</title><summary type='text'>Objects in Objective-C maintain a counter to manage how many object point to the object in question.  This counter modified by two methods, retain and release, and can be accessed directly by the retainCount method.Each call to [object retain]; increments this counter, and each call to [object release]; decrements it.  The retain/release counter starts at 1.  When an object's count drop to 0, it </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/4000585474744434859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=4000585474744434859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/4000585474744434859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/4000585474744434859'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/06/retain-and-release-and-object-creation.html' title='Retain and Release, and Object Creation'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-3169578353988162276</id><published>2007-06-16T18:00:00.000-04:00</published><updated>2007-06-16T18:16:42.866-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Objects'/><title type='text'>Object Antics</title><summary type='text'>As with all Object-Oriented languages, Objective-C allows for some pretty handy trickery when it comes to objects, inheritance, and extensions.  The terms used are fairly exclusive, but most of them have parallels.In Cocoa Objects I briefly went over how to do basic inheritance.  It is done by adding : InheritedObject on the @interface line, like this:@interface myObject: NSObjectObjective-C does</summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/3169578353988162276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=3169578353988162276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/3169578353988162276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/3169578353988162276'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/06/object-antics.html' title='Object Antics'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-5087357636092063027</id><published>2007-06-15T00:01:00.000-04:00</published><updated>2007-06-15T00:01:47.082-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><category scheme='http://www.blogger.com/atom/ns#' term='Objects'/><title type='text'>Cocoa Objects</title><summary type='text'>Objects in Cocoa are very similar to objects in other languages such as C++ or Java.  Their structure and syntax is very different though.  While C++ and Java objects are essentially extensions (in syntax and organization) of the struct in C, Cocoa's objects are implemented in a completely different way, with a completely different syntax.In C++, you'd create a class using some code kind of like </summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/5087357636092063027/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=5087357636092063027' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/5087357636092063027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/5087357636092063027'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/06/cocoa-objects.html' title='Cocoa Objects'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-584912900041935366.post-4824674979055379155</id><published>2007-06-14T15:56:00.000-04:00</published><updated>2007-06-14T17:04:11.263-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chronology'/><category scheme='http://www.blogger.com/atom/ns#' term='Basics'/><title type='text'>A Crash Course in Cocoa</title><summary type='text'>I've been a C/C++ programmer for years.  While it wasn't my first programming language, I have certainly used it the most and spent the most time with it.  To further complicate matters, many of the other languages I've worked with over the past several years that weren't C or C++ were at least strongly based on C's syntax and structure.  With all of this experience and momentum, it is personally</summary><link rel='replies' type='application/atom+xml' href='http://cocoalate.blogspot.com/feeds/4824674979055379155/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=584912900041935366&amp;postID=4824674979055379155' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/4824674979055379155'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/584912900041935366/posts/default/4824674979055379155'/><link rel='alternate' type='text/html' href='http://cocoalate.blogspot.com/2007/06/crash-course-in-cocoa_14.html' title='A Crash Course in Cocoa'/><author><name>xtophyr</name><uri>http://www.blogger.com/profile/04280128498341927477</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/_zzCjBA1cpRE/STkj0zbWQcI/AAAAAAAAAEQ/sHyUSfSxq2o/S220/comics.jpg'/></author><thr:total>8</thr:total></entry></feed>
