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

Assignment #6 Task #8

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

You do not have to get this working on both platforms. Pick whichever of the two you want. It does, however, have to work on a real device, so pick the device you have the hardware for.

The code for the previous tasks has already incorporated both iPhone and iPad. In addition to the simulator the code has been tested on a first generation iPad.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Task #7

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

To make all this work, of course, you will need to add a Visit/Unvisit button to the scenes in the storyboard which show a photo. If that photo is already in “My Vacation,” then the button’s title should appear as “Unvisit,” otherwise it should appear as “Visit.” Clicking this button toggles whether the photo is part of “My Vacation” or not.

Add a new property which holds the “Visit/Unvisit” button and gets lazy initialized in its getter:

@property (nonatomic, strong) IBOutlet UIBarButtonItem *visitButton;

@synthesize visitButton = _visitButton;

- (UIBarButtonItem *)visitButton
{
    if (!_visitButton) {
        _visitButton = [[UIBarButtonItem alloc] initWithTitle:@"Visit"
                                                        style:UIBarButtonItemStyleBordered 
                                                       target:self 
                                                       action:@selector(visitButtonPressed:)];
    }
    return _visitButton;
}

Continue reading “Assignment #6 Task #7”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Task #6

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

All of the new tables in this application that show places or photos or tags must be driven by Core Data. It is your responsibility to determine the schema which best supports your needs.

This task is already fulfilled in the other tasks especially task #3 and task #4.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Task #5

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

You are not required to provide any UI for users to create new Virtual Vacations (see Extra Credit #1 if you want to), so simply create a single Virtual Vacation called “My Vacation” in the user’s Documents directory somewhere in your code. All “visits” and “unvisits” will happen in this “My Vacation” Virtual Vacation. However, just because you do not have to provide UI to create new vacations does not mean you are exempted from any other required tasks which support multiple Virtual Vacations (like Required Task #1). You may well want to create some other Virtual Vacations anyway just to verify that the rest of your code deals properly with multiple of them.

This task is already fulfilled in the other tasks by the functionality of the VacationHelper and tested using the debug database.

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail

Assignment #6 Task #4

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

The Tag Search tab must bring up a list of all the tags found in all the photos that the user has chosen to be a part of this Virtual Vacation (sorted with most-often-seen first). Touching on a tag brings up a list of all the photos in the Virtual Vacation that have that tag. The tags in a Flickr photo dictionary are contained in a single, space- separated, all lowercase string (accessible via the FLICKR_TAGS key). Separate out and capitalize each tag (not all caps, just capitalize the first letter) so that they look nicer in the UI. Don’t include any tags that have a colon in them.

In both storyboards add an additional table view controller as well as an subclass for it. Create a push segue from the tags cell from the vacation view controller to the new controller and from its cell a another push segue to the vacation-photos table view controller. Adjust the cell reuse identifier and set the identifiers for the two new segues.
Continue reading “Assignment #6 Task #4”

FacebooktwitterredditpinterestlinkedintumblrmailFacebooktwitterredditpinterestlinkedintumblrmail