Queued Background Tasks for Cocoa

Fredrik Olsson

The megahertz race is over, and instead we get more execution cores. This means that we as developers must make our applications parallel, in order to take advantage of the new performance. The easiest way to be parallel is to execute tasks in new threads, something that is useful also for lengthy but not resource [...]

Tags: , , , , , , , , , ,

Regular Expressions and Cocoa

Fredrik Olsson

Regular expressions is a powerful tool for solving many problems related to text. It can be misused as any good tool, but there are moments when they are the best solution for a given problem. At those moments the lack of regular expressions for Cocoa on Mac OS X and Cocoa Touch on iPhone OS [...]

Tags: , , , , , , , , ,

Introduction to iPhone development

Christian Hedin

It has been little more than 2 years since the iPhone was first announced and during that time it has managed to make a huge impact on the mobileindustry. Introduction Just recently, iPhone sales figures surpassed all windows mobile phones combined and in several markets the iPhone has been a top selling phone model. Together [...]

Tags: , ,

Adding Sorted Inserts to Cocoa Arrays

Fredrik Olsson

NSArray and NSMutableArray have methods for sorting arrays, NSArray returns new sorted arrays and NSMutableArray can be sorted in place. The sort methods comes in three flavours; using a function, using a selector, or using an array of NSSortDescriptor objects. NSArray admits to sorts being a slow operation, and adds a method pair for comultive [...]

Tags: , , , , , ,

Bridging the Gap Between Java and Cocoa

Fredrik Olsson

Many Java developers are looking at new dynamic languages, such as Groovy and JRuby, mostly because of the freedom and rapid development that a dynamic language allows. Some of my colleagues are also looking at Cocoa and feel daunted at the sight of Objective-C. Here I will use a small example that is easy and [...]

Tags: , , , , , ,

UIToolbars in iPhone OS 2.x

Fredrik Olsson

The new release of iPhone OS 3.0 adds some nice API:s for managing a contextual toolbar. This is well needed as toolbars in the current iteration of iPhone OS is not only poorly documented, it is also quite hard to do right. So I will go over how to do toolbars the right way, for [...]

Tags: , , , , , , , ,

iPhone OS and the Lowest Common Denominator

Fredrik Olsson

Nishant wrote a good piece on why Apple continue to outdo it’s rivals, he used a variant of a quote by Canadian hockey player Wayne Gretzky to make his point: A good hockey player plays where the puck is. A great hockey player plays where the puck is going to be. This is true as [...]

Tags: , , ,

Proxy Based AOP for Cocoa Touch

Fredrik Olsson

UITabBarController is generally used as is, no subclassing required. It creates a UITabBar and manages a list of UIViewControllers, keeping track of the tab in focus, UI creation and everything nice. UITabBarController has a delegate, the UITabBarControllerDelegate protocol. Unfortunately this is not a superset of the UITabBarDelegate protocol, and UITabBarController already implements the UITabBarDelegate protocol [...]

Tags: , , , , , ,

Finding Subview of a Particular Class in Cocoa

Fredrik Olsson

Many of the UIView subclasses in Cocoa, and especially Cocoa Touch are created by combining many different simple views into a more complex view. UITableViewCell is a good example, concisting of almost a dozen subviews, UIImageView for the image, UILabel for the text, etc. It is often nice to be able to reuse existing functionality [...]

Tags: , , , ,

UIButton troubles, a better solution

Fredrik Olsson

I described in my previous post how you can change the class of a live object instance. The use-case was a workaround for bug in Cocoa Touch’s UIKit. What if I could fix the bug, instead of applying a work around in my sub-class? Update: Buttons created with UIButtonTypeRoundedRect is a special case returning a [...]

Tags: , , , ,

UIButton troubles, and Obj-C magic

Fredrik Olsson

When developing SC68 Player for the iPhone I came upon a quite peculiar problem regarding the UIButton. First the preface I wanted to add a star button to the right side of each row, subclassing UIButton that can manage selected states, images and all I needed, and use it as the accessory view of the [...]

Tags: , , , ,

iPhone Tech Talks – Stockholm

Fredrik Olsson

Apple has arranged a world tour of iPhone Tech Talks, and in cold december it was Scandinavia’s turn and a crew of software evangelists from Apple turned up at KTH in Stockholm for a full day of sessions. The sessions are confidential so I will keep this post vague on the technical parts, not revealing [...]

Tags: , , , , , ,

Accelerometer and Vibration on the iPhone

Fredrik Olsson

Last friday I attended an excellent session at Øredev 2008, on Android by Mike Jennings from Google. At the end of the presentation Mike show the code for a simple application with a bouncing blue ball, controlled by the accelerometer. What stroke me was that the git of the application was 85 lines of code, [...]

Tags: , , , , , ,

HessianKit Released

Fredrik Olsson

HessianKit, an implementation of the Hessian binary web service protocol for Objective-C 2.0 have now been released under Apache License 2. It is available on sourceforge at: http://sourceforge.net/projects/hessiankit HessianKit is available for Mac OS X 10.5 and later, and iPhone OS 2.0. The three main goals are: * To be as compliant and forgiving as [...]

Tags: , , , , ,

My First Weekend With iPhone SDK

Fredrik Olsson

My first reaction is that it is polished. Very polished. I have used the unofficial SDK for iPhone OS 1.x software, and nearly everything from iPhone OS 1.x has been redesigned. Small changes from renaming, to removal of changes, and addition of complete frameworks. Not only the provided Frameworks are polished even in beta, so [...]

Tags: , , , , ,