Marc LaFountain (via Jeff Rock):
I’ve recently had a false start with Apple’s iPad Case. I cannot believe Steve Jobs greenlit this thing. The tacky/sticky case surface is a magnet for dust, dirt, and (most unfortunately) cat hair. Putting the iPad in the case and taking it back out feels akin to performing surgery. The bottom of the case in landscape mode becomes the inside of the case in portrait mode, which gets stuff on the iPad screen. And, while the case is a huge pleasure to use at an angle in landscape mode, it is ungainly and uncomfortable to use in portrait mode. I would also love a case that works with Apple’s iPad Dock and am disappointed to see Apple’s own case doesn’t work with Apple’s own dock.
I have to agree that Apple’s iPad case is shockingly bad. Perhaps it’s trying to do too many things?
Mike Ash:
If there are multiple contiguous object stores, NSFastEnumeration
allows the collection to return interior pointers one after another, allowing for a quick loop implementation over each store, and requiring an Objective-C message only for getting the next interior pointer. For collections without contiguous storage, NSFastEnumeration
allows the collection to copy objects out to temporary storage in bulk, reaping many of the same benefits. For collections where none of this works, NSFastEnumeration
still allows a collection to efficiently return objects one by one.…Nice syntax, good performance, it’s a great combination.
Unfortunately, you can’t use fast enumeration if you support Mac OS X 10.4. Currently, I write all my loops using a foreach
macro, which conditionally compiles to IMP-caching and NSEnumerator
under 32 bit and for…in
under 64-bit.
Cocoa Macros Objective-C Programming
Armin Vit:
Yesterday, AT&T launched a new brand campaign that introduces the theme of “Rethink Possible” and tries to do what few other companies—like Nike, Target and Apple—can, drop the name from the logo.
Carrier Graphic Design Logo