I previously wrote a blog post titled Performing any Selector on the Main Thread detailing a convenience category on NSInvoication for easily creating invocation objects that could be invoked on any thread. This category has served me well, and even got traction in the iOS developer community, so I never bothered to stop and think [...]
Invoke any Method on any Thread
August 8th, 2011 by Fredrik Olsson — Architecture, Cocoa, Dynamic languages, Tips & Tricks
Tags: concurrency, design patterns, iphone, mac, objective-c, open source, programming, tips, tutorial
Performing any Selector on the Main Thread
March 30th, 2010 by Fredrik Olsson — Cocoa, Embedded, Tips & Tricks
Many UI frameworks, including AppKit for Mac OS X and UIKit for iPhone OS, require that all methods to UI components are sent on the main UI thread. Cocoa and Cocoa Touch make this quite easy by providing for example -[NSObject performSelectorOnMainThread:withObject:waitUntilDone:] in Foundation. Making updating the text for a text field a snap: [someTextField [...]
Tags: cocoa touch, concurrency, iphone, mac, mobile, objective-c, open source, programming, tips, tutorial
Test Driven Development in XCode
January 15th, 2010 by Christian Hedin — Testing
Test Driven Development, or TDD for short, is a simple software development practice where unit tests, small focused test cases, drive the development forward. This is most easily explained by the Three Rules of TDD that dictate the following: You are not allowed to write any production code unless it is to make a failing [...]
Tags: frameworks, iphone, mac, objective-c, programming, tdd, tools, tutorial
Queued Background Tasks for Cocoa
May 9th, 2009 by Fredrik Olsson — Architecture, Java
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: concurrency, design patterns, frameworks, iphone, mac, mobile, network, objective-c, open source, performance, programming
Regular Expressions and Cocoa
May 6th, 2009 by Fredrik Olsson — Cocoa, Embedded, Tips & Tricks
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: apple, frameworks, iphone, mac, mobile, objective-c, open source, performance, programming, regex
Using Amazon S3 for backup
September 2nd, 2007 by Ulrik Sandberg — Cloud, Tips & Tricks
Amazon Simple Storage Service (S3) is cheap on-line storage with a Web Service interface. You just log in with your Amazon id, sign up for S3, designate a credit card, and that’s it. You now have access to pretty much unlimited storage space, managed by Amazon. The price is $0.15 per GB-Month of storage used [...]
Tags: amazon, backup, mac, network, s3, storage, tools, web
Sharing a Mac Internet Connection Through Airport
January 20th, 2007 by Ulrik Sandberg — Tips & Tricks
I just solved a networking problem on my Macs after hours of trying. For the benefit of others, I’ll describe here the problem and the solution. Setup Cable modem from ISP, network cable to a firewall, the private end of the firewall via network cable on to a switch. Pretty basic, I guess. No wireless [...]
