In a much needed area of training for Xcode/Mac/iOS developers, iDeveloperTV and Graham Lee have put together a modestly-priced course on Unit Testing and TDD.
Unit Testing with Xcode
In this course Scotty and Graham Lee help you to not only understand the mechanics of unit testing in Xcode but also show you how you might design your code to be more testable. By working through a number of examples you will initially learn how to set up unit tests within Xcode 4 and perform basic unit testing before moving on to discover how you can test parts of your code that you previously might have thought were not possible to unit test such as code that uses singletons, networks, tableviews, user defaults and even core data. All the code we look at during the course in included so you can follow along and make sure you fully grasp and understand each aspect of what is being taught. The course ends with a general discussion of unit testing principles and examines how adopting a test driven approach to your development could end up saving you time and help you to produce more robust applications The course is suitable for both OS X and iOS developers
I was looking for a very straightforward and concise definition of static variables and how they can be used in Objective-C, since I had already been using them, but only considering their usage in the context of how they are used in other languages (like C# and Java) without really thinking about their purpose and usage in Objective-C.
Thankfully, one needs only look as far as the Apple Developer Library and the official guide for the language (navigate to: Objects, Classes and Messaging > Classes > Class Objects):
The Objective-C Programming Language: Objects, Classes, and Messaging
Declaring a variable static limits its scope to just the class—and to just the part of the class that’s implemented in the file. (Thus unlike instance variables, static variables cannot be inherited by, or directly manipulated by, subclasses.) This pattern is commonly used to define shared instances of a class (such as singletons; see “Creating a Singleton Instance” in Cocoa Fundamentals Guide).
and then a little further down…
Static variables help give the class object more functionality than just that of a factory producing instances; it can approach being a complete and versatile object in its own right. A class object can be used to coordinate the instances it creates, dispense instances from lists of objects already created, or manage other processes essential to the application. In the case when you need only one object of a particular class, you can put all the object’s state into static variables and use only class methods. This saves the step of allocating and initializing an instance.
Sometimes we just do things based on “clipboard inheritance” from examples on Stackoverflow, etc., but once in a while it’s good to actually dive into the reasons why those examples are the way they are, or how they can be changed to suit a different purpose.
Good editorial article from Fraser Speirs regarding Apple’s recently announced products and tools for education, and, most importantly, the iPad.
Apple’s announcements further iPad revolution in education | Macworld
The iPad has begun a quiet revolution in education. All over the world, schools are putting ambitious plans in place to adopt Apple’s tablet at large scale. When parents, teachers and administrators are surveyed, converting textbooks into electronic publications is often one of the main purposes that respondents imagine an iPad in school could be used for. It’s usually the parents and school administrators who are most enthusiastic about this—students and teachers often have more imagination!
This looks interesting and useful… I was considering developing something similar to create Flipboard-like effects, but this might just do the trick.
FlipTransform for iOS – Cocoa Controls
Animation component for the effect of flipping as in a news/clock ticker, or a page turn. Structured around the idea of a data object (i.e. headline in news, number in a clock, page in a book) as an animation frame, comprised of multiple CALayers.
I haven’t been writing a bunch of topics lately about web design but this one caught my eye:
Top Minimalist Website Designs: Trends and Examples » Color, Layout » Design Festival
When you think of minimalism, you may conjure up images of black and white color schemes, overly-??simple layouts, maybe a splash of color here and there. The actual concept in context of web design is about stripping out anything unnecessary. While this can produce boring design, there is a LOT of creative freedom within this framework.
Seems like the principles apply to other areas (read: “app design”) as well. Thanks to SitePoint for the referral, and thanks to Design Festival for the content…
Great article on the importance of design at this point in time, showing just how crucial a design focus is to succeed.
A List Apart: Articles: An Important Time for Design
Design is on a roll. Client services are experiencing a major uptick in demand, seasoned design professionals are abandoning client work in favor of entrepreneurship, and designer-co-founded startups such as Kickstarter and Airbnb are taking center stage. It’s becoming increasingly difficult to ignore the fact that design has a massive role to play in the evolution of the web and the next generation of web products. This has not gone unnoticed in the startup world. Nearly every CEO and VC I’ve met in the last six months is on a wild hunt for designers. This demand is a powerful tool: it can be used to get more selective with clients, bring design to new markets, and get higher rates—or, it can be used to take aim at something bigger.
iBooks 2 hands-on: Apple’s reinvented textbook | The Verge
As for Life on Earth itself, it runs extremely well even on the original iPad we tested it on. Movies load quickly, page turns are smooth, and embedded animations work without a hitch. Images are particularly engaging, as most go full-screen with a tap, and also contain a number of other related images to swipe through as well. The download process was slightly painful, but that could be due to a large number of people hitting Apple’s servers all at once.
Apple – Press Info – Apple Unveils All-New iTunes U App for iPad, iPhone & iPod touch
NEW YORK—January 19, 2012—Apple® today announced an all-new iTunes® U app, giving educators and students everything they need on their iPad®, iPhone® and iPod touch® to teach and take entire courses. The all-new iTunes U app lets teachers create and manage courses including essential components such as lectures, assignments, books, quizzes and syllabuses and offer them to millions of iOS users around the world. The iTunes U app gives iOS users access to the world’s largest catalog of free educational content from top universities including Cambridge, Duke, Harvard, Oxford and Stanford, and starting today any K-12 school district can offer full courses through the iTunes U app. iTunes U has already become an incredibly popular learning tool for students with over 700 million downloads.
Apple – Press Info – Apple Reinvents Textbooks with iBooks 2 for iPad
NEW YORK—January 19, 2012—Apple® today announced iBooks® 2 for iPad®, featuring iBooks textbooks, an entirely new kind of textbook that’s dynamic, engaging and truly interactive. iBooks textbooks offer iPad users gorgeous, fullscreen textbooks with interactive animations, diagrams, photos, videos, unrivaled navigation and much more. iBooks textbooks can be kept up to date, don’t weigh down a backpack and never have to be returned. Leading education services companies including Houghton Mifflin Harcourt, McGraw-Hill and Pearson will deliver educational titles on the iBookstore? with most priced at $14.99 or less, and with the new iBooks Author, a free authoring tool available today, anyone with a Mac® can create stunning iBooks textbooks.