Lecture #15: Modal View Controller/Text/Animation/Timer

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

Lecture fifteen is named “15. Modal View Controller/Text/Animation/Timer (November 15, 2011)” and can be found at iTunes. Its slides are available at Stanford.

The theoretical part of this lecture provides an introduction to modal view controllers, text fields, animations and the usage of timers.

Modal View Controllers provide views which fill the complete screen and should only be used if it is necessary to block all other navigation or tab controllers. They can be setup in storyboard using modal segues or via code, e.g.:
Continue reading “Lecture #15: Modal View Controller/Text/Animation/Timer”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Xcode 4.4

Xcode has been updated to version 4.4.1 for Lion and Mountain Lion and is now available at the Mac App Store:

  • The compiler automatically calls @synthesize by default for unimplemented @properties.
  • For the NSArray and NSDictionary classes, support is provided for Objective-C literals.
  • Subscripting using '[ ]' syntax is supported for Objective-C container objects.
  • Compatibility with the C++11 standard is improved.
  • New static analyzer checks for common security mistakes in API and malloc usages.
  • The caller and callee for selected methods can be displayed in the Assistant Editor.
  • Code completion is enhanced with QuickHelp.
  • Scene Kit is supported with a viewer-editor for 3D document files.
  • Improved localization workflow uses base language .xib files.
  • Git supports staging of individual changes.

A more detailed description can be found at “What’s new in Xcode” or in the Xcode Release Notes.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Extra Task #3

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

Let the user search inside the tags table view. This is a non-trivial extra credit exercise, but you’ll definitely want to use NSSearchBarController.

During a search we will adjust the predicate of the fetched results controller using a new private property:

@property (nonatomic, strong) NSPredicate *searchPredicate;
...
@synthesize searchPredicate = _searchPredicate;
...
- (void)setupFetchedResultsController
{
...
    request.predicate = self.searchPredicate;
...
}

Continue reading “Assignment #6 Extra Task #3”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Extra Task #2

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

Allow users to reorder their itinerary for their vacation. To do this, you might want to think about creating a top-level Entity (Itinerary) in your schema and using an “ordered to-many relationship” to store the places in the itinerary. An “ordered to-many relationship” appears in your code as an NSOrderedSet (instead of an NSSet). The table view that shows the places in the itinerary will have to be rewritten to display this NSOrderedSet of places (it won’t be able to be an NSFetchedResultsController-based table view) and you will have to figure out how to use UITableView API to edit an NSMutableOrderedSet. Warning: while this is not that difficult to implement coding- wise, it requires quite a bit of investigation to figure out. Another approach is to add an attribute in your schema that determines the order (but this can be a little bit clunky). The former approach will probably lead to more learning opportunities.

Following the instructions from above create a new Entity called “Itinerary” for the Core Data Model with a ordered one-to-many relationship called “places” on the Itinerary side and “itinerary” on the place side. Recreate all NSManagedObject subclasses and add a category for the Itinerary class.
Continue reading “Assignment #6 Extra Task #2”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Extra Task #1

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

Add UI to allow the user to add new vacation documents and to pick which vacation they are visiting when they choose the Visit button.

For the first part of this task add a new view controller to both storyboards and setup a new subclass of the UIViewController class. Add a bar button item to the navigation item of the vacations table view controller with a push segue for the iPhone and a popover segue for the iPad from this new button to the new view controller. Add a text field with an outlet and a button with an action to the view controller.

To be able to close the popover controller after the button has been pressed, it is necessary to delegate this to the vacations view controller because it also creates the popover. Thus we add a protocol for the delegate:
Continue reading “Assignment #6 Extra Task #1”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail