Assignment #4 Task #1

Please note, this blog entry is from a previous course. You might want to check out the current one.

The forth assignment creates a new application that presents a list of popular Flickr photo spots – a tab-based application to let users browse the most popular places on Flickr and watch photos taken there.

Use the provided FlickrFetcher class method topPlaces to get an array of the most popular Flickr photo spots in the last day or so. It is an array of NSDictionarys which contain information about each place.

Start by creating a new universal app: File -> New -> Project… -> Single View Application
Continue reading “Assignment #4 Task #1”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Lecture #9: Table Views

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture nine is named “9. Table Views (October 25, 2011)” and can be found at iTunes. Its slides are available at Stanford.

The theoretical part starts with table views which allow to display static or dynamic lists of data in different styles. A table consists of a header, a footer and table cells possible divided in sections (also with a header and a footer). A cell can be of type subtitle, basic, right and left detail, as well as completely customized.
Continue reading “Lecture #9: Table Views”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Friday Session #4: Introduction to AVFoundation

Please note, this blog entry is from a previous course. You might want to check out the current one.

This weeks Friday session addresses the AV Foundation Framework. It can be found on iTunes titled “Introduction to AVFoundation (October 21, 2011)”.

In this lecture Salik Syed gives an overview on how the Objective-C interface can be used to access audio-visual media under iOS. After an high level discussion on the API he shows in a demo how to manipulate a video from the camera of an iPhone in real time.
Continue reading “Friday Session #4: Introduction to AVFoundation”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Lecture #8: Controller Lifecycle & Image/Scroll/WebViews

Please note, this blog entry is from a previous course. You might want to check out the current one.

Lecture eight is named “8. Controller Lifecycle & Image/Scroll/WebViews (October 20, 2011)” and can be found at iTunes. Its slides are available at Stanford.

It starts with a theoretical part about the View Controller Lifecycle, the Image, the Web and the Scroll View.
Continue reading “Lecture #8: Controller Lifecycle & Image/Scroll/WebViews”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #3 Extra Task #3

Please note, this blog entry is from a previous course. You might want to check out the current one.

Improve the performance of panning. To do this, you need to try to understand where the CPU cycles are going when the graph is drawn. Is it our inefficient runProgram:usingVariableValues: method? Or is it all the Core Graphics calls we are making each time? Is there a simple way to reduce calls to both of these things in our drawRect:? Or is the performance issue something else entirely? If you are very brave, you can try to figure out how to use the Time Profiler (hold down Run in Xcode and pick Profile, then choose the Time Profiler from the dialog that appears). That’s the way to really know where the time’s going.

Time Profiler shows that runProgram: takes about of 80% of the processing time when pinching or panning. To know when we are actually pinching or panning we add a new private property which will be set as long as a gesture has not finished:
Continue reading “Assignment #3 Extra Task #3”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #3 Extra Task #2

Please note, this blog entry is from a previous course. You might want to check out the current one.

If you do Extra Credit #1, you’ll notice that some functions (like sin(x)) look so much nicer using the “line to” strategy (at least when zoomed in appropriately). Try dragging a UISwitch into your user-interface which lets the user switch back and forth between “dot mode” and “line to” mode drawing.

Add a new property to our graph view protocol:

@property (nonatomic) BOOL drawDots; // YES: draw dots; NO: draw lines

Continue reading “Assignment #3 Extra Task #2”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail