Assignment IV: Smashtag Mentions
|
|
- Evangeline Gibson
- 5 years ago
- Views:
Transcription
1 Assignment IV: Smashtag Mentions Objective In this assignment, you will enhance the Smashtag application that we built in class to give ready-access to hashtags, urls, images and users mentioned in a tweet. Be sure to review the Hints section below! Also, check out the latest in the Evaluation section to make sure you understand what you are going to be evaluated on with this assignment. Materials This is a completely new application, so you will not need anything (but the knowledge you gained) from your first three homework assignments. You will need a Twitter account. This set of Twitter utility classes is required (or at least, will be extremely useful!) for this assignment. PAGE 1 OF 10
2 Required Tasks 1. Enhance Smashtag from lecture to highlight (in a different color for each) hashtags, urls and user screen names mentioned in the text of a Tweet (these are known as mentions ). Note that mentions are already located for you in each Tweet by Twitter and show up as [IndexedKeyword]s in the Tweet class in the supplied Twitter code. 2. When a user clicks on a Tweet, segue to a new UITableViewController which has four sections showing the mentions in the Tweet: Images, URLs, Hashtags and Users. The first section displays (one per row) any images attached to the Tweet (found in the media variable in the Tweet class). The last three show the items described in Required Task 1 (again, one per row). 3. Each section in the mentions table view should have an appropriate header. 4. If a section has no items in it, there should be no header visible for that section. 5. If a user touches an entry for a hashtag or a user in the mentions table view that you created in Required Task 2 above, you should segue to show the results of searching Twitter for that hashtag or user. It should be searching for hashtags or users, not just searching for a string that is the name of the hashtag or user (e.g. search for #stanford, not stanford ). The view controller to which you segue must work identically to your main Tweet-viewing view controller (TweetTableViewController). 6. If the user clicks on a mentioned url in your newly created view controller, you should open up that url in Safari (see Hints below for how to do that). 7. If the user clicks on an image in your newly created view controller, segue to a new MVC which lets the user scroll around and zoom in on the image. When the image first appears in the MVC, it should display zoomed (in its normal aspect ratio) to show as much of the image as possible but with no whitespace around it. 8. Keep track of the most recent 100 Twitter searches the user has performed in your application. Add a UITabBarController to your application with a tab for searching (i.e. your main UI) and a second tab showing these most recent search terms in a table view (uniqued with most recent first). When a user clicks on a search term in the second tab, segue (stay in that same tab) to show the most recent Tweets matching that search term. Store these most recent searches permanently in NSUserDefaults so that your application doesn t forget them if it is restarted. 9. You must not block the main thread of your application with a network request at any time. 10. Your application must work properly in portrait or landscape on any iphone (this is an iphone-only application). PAGE 2 OF 10
3 Hints 1. You will need to log in to Twitter in Settings on your device (or on the simulator) to make the provided Twitter classes work. 2. The Twitter classes provided are Printable, so you can print them out with println. 3. Don t be overwhelmed by all the code in the Twitter classes. The only method you ll ever need to call in the entire framework is fetchtweets. Otherwise you just need to access whatever properties you need in the Tweet, MediaItem and User data structures. 4. Most UIKit classes (like UILabel and UIButton) have a method attributedtext which lets you set and get its text using an NSAttributedString. 5. Make sure you do not break the feature that currently exists in Smashtag whereby it shows Tweets using the preferred body font style (and thus the text in the Tweets can be made larger or smaller by the user in Settings). 6. To add a UITableViewController to your storyboard, just drag one out of the Object Palette and change its class to be a custom subclass of UITableViewController you create using New File. 7. Your new mentions (and images) MVC has different kinds of things in each section. While you might be tempted to deal with this with large if-then or switch statements in your UITableViewDataSource and navigation methods, a cleaner approach would be to create an internal data structure for your UITableViewController which encapsulates the data (both the similarities and differences) in the sections. For example, it d be nice if numberofsectionsintableview, numberofrowsinsection, and titleforheaderinsection were all one-liners. 8. In fact, in general, any method that has more than a dozen lines of code is probably going to be hard for readers of your code to understand (and might well betray a less than optimal architectural approach). 9. Don t forget about Swift features like enum. Use Swift to its fullest. Harken back to the data structure we created for the CalculatorBrain. It might provide some inspiration for this assignment too. 10. As always, give solid thought as to what the public (i.e. non-private) API of your new controller is. Make everything else private. Your public API is what says to the rest of your application this is how you use this controller. No other part of your application should know anything about the internal workings of your controller. And your controller should always do the right thing (i.e. do what it was created to do) when some other part of your application uses the controller by calling its public API. 11. Ditto for any UITableViewCell subclass you create. Or any class you create for that matter! PAGE 3 OF 10
4 12. Also think about the titles of your MVCs (i.e. what appears in the navigation bar of a navigation controller when that MVC is being shown). 13. If you are going to be indexing into an NSAttributedString, you will want to use the nsrange property of IndexedKeyword, not the range property (since NSAttributedString indexes into an underlying NSString, not an underlying String). 14. If you have an NSURL named url, you can open it in Safari like this: UIApplication.sharedApplication().openURL(url). 15. When you click on a user or hashtag in your mentions MVC, you can segue to the list of Tweets table view controller using either a normal Show segue or using an Unwind segue. It s up to you which of those you think results in a better userinterface. 16. You will almost certainly need two different UITableViewCell prototypes in your storyboard. Give them different identifiers and dequeue an appropriate one in cellforrowatindexpath. 17. Your new view controller s row heights don t need to be estimated like the row heights of the list of Tweets controller because you have very few rows and performance is not a consideration. Thus you will likely want to implement the UITableViewDelegate method heightforrowatindexpath. 18. For your rows that contain an image, you ll have to figure out an appropriate height. For the other rows in your table, you can just let them automatically figure their own height (using autolayout) by returning UITableViewAutomaticDimension from heightforrowatindexpath. 19. You can figure out the aspect ratio of an image in a Tweet without having to actually fetch the actual image from its url. See the MediaItem class in the Twitter classes provided. 20. A cool feature of your application is (should be!) that if the user wants to zoom in on a Tweet s image a bit without clicking on it to segue to the detailed image viewing MVC, the user can simply rotate the device to landscape. If you implement things properly, you ll get this feature for free (i.e. no code required). 21. For the required task where the user can click on an image to start panning and zooming on it in a new MVC, you can mostly reuse code from Cassini. However, you ll have to add the autozooming-to-fit capability to the ImageViewController. 22. It would be cool to make that autozooming-to-fit behavior continue to happen whenever the MVC s view s geometry changes until the user explicitly zooms with a gesture (there is a delegate method to find out when that occurs). That way it ll autozoom-to-fit as the user rotates their device. 23. It s probably a good idea to have a single, global truth for the most recent search terms and, since you have to store them in NSUserDefaults anyway, why not make PAGE 4 OF 10
5 NSUserDefaults be that truth? You might want to wrap a little class or struct around your storing and recalling from NSUserDefaults that you can use throughout your application. 24. NSData(dataWithContentsOfURL:) blocks the thread it is called from when invoked with a network url. Thus you cannot call it from the main thread. 25. You cannot make any calls into UIKit from any thread other than the main thread. Be careful not to accidentally do this by calling some method which subsequently calls a method in UIKit. If you call a method from UIKit (directly or indirectly) off the main thread, your UI will fail in unpredictable ways. 26. The fetchtweets method executes its handler off the main thread. 27. Remember that the cells of a UITableView are only created for visible cells and they are reused as data comes on screen and goes off screen. 28. If you are fetching in a thread other than the main thread and then get the result and then want to ask the main queue to do something with that result, you d better be sure nothing has changed while the network call was going on. PAGE 5 OF 10
6 Things to Learn Here is a partial list of concepts this assignment is intended to let you gain practice with or otherwise demonstrate your knowledge of. 1. NSAttributedString 2. UITableView 3. UITableViewController 4. UITableViewCell 5. UIRefreshControl 6. UIActivityIndicatorView 7. UITabBarController 8. Multithreading 9. Data structure design 10. NSUserDefaults 11. UIScrollView 12. UIImageView Screen Shots We are always hesitant to include screen shots because we don t want to restrict your creativity. These screen shots are NOT Required Tasks. They are just intended to give you an idea if you are having trouble visualizing the Required Tasks. The colors below were chosen completely at random. You should choose colors you think look good in your UI. PAGE 6 OF 10
7 Evaluation In all of the assignments this quarter, writing quality code that builds without warnings or errors, and then testing the resulting application and iterating until it functions properly is the goal. Here are the most common reasons assignments are marked down: Project does not build. Project does not build without warnings. One or more items in the Required Tasks section was not satisfied. A fundamental concept was not understood. Code is visually sloppy and hard to read (e.g. indentation is not consistent, etc.). Your solution is difficult (or impossible) for someone reading the code to understand due to lack of comments, poor variable/method names, poor solution structure, long methods, etc. UI is a mess. Things should be lined up and appropriately spaced to look nice. Incorrect or poor use of object-oriented design principles. For example, code should not be duplicated if it can be reused via inheritance or other objectoriented design methodologies. Public and private API is not properly delineated. Often students ask how much commenting of my code do I need to do? The answer is that your code must be easily and completely understandable by anyone reading it. You can assume that the reader knows the SDK, but should not assume that they already know the (or a) solution to the problem. PAGE 7 OF 10
8 Extra Credit There are lots of ideas below. We certainly don t expect that you ll do all of them (and some are more difficult than others). Read through them and pick whichever ones intrigue you the most. 1. In the Users section of your new UITableViewController, list not only users mentioned in the Tweet, but also the user who posted the Tweet in the first place. 2. When you click on a user in the Users section, search not only for Tweets that mention that user, but also for Tweets which were posted by that user. 3. If you segue using Show (rather than Unwind), add some UI which will Unwind all the way back to the rootviewcontroller of the UINavigationController. Even if you use Unwind (rather than Show), then if do the Collection View extra credit below using a Show segue, you might want the unwind to root behavior in scenes you segue to via the Collection View. 4. Instead of opening urls in Safari, display them in your application by segueing to a controller with a UIWebView. You ll have to provide at least a little bit of browser control UI to go along with it (e.g. a back button ). 5. Make the most recent searches table be editable (i.e. let the user swipe left to delete the ones they don t like). 6. Add some UI which displays a new view controller showing a UICollectionView of the first image (or all the images if you want) in all the Tweets that match the search. When a user clicks on an image in this UICollectionView, segue to showing them the Tweet. PAGE 8 OF 10
9 Extra Credit Hints 1. If you have built a good internal data structure for your section data, hopefully this is just a matter of enhancing an init() method for that internal data structure. 2. You will need to familiarize yourself with the operators in Twitter search queries. 3. You might find yourself in a situation where sometimes you want the unwind to root button to appear and sometimes you don t (for example, if you re already at the root, you clearly don t want it). You can try to manage this in code (with if then statements and showing or hiding the unwind to root button), or you could use polymorphism and have your root scene not have an unwind to root button and have its Controller implement the unwind to method that other scenes unwind to root button would unwind to (it could do this by implementing nothing but this unwind to root method in a subclass of the non-root version of the MVC). Other scenes in the storyboard would have the button but wouldn t implement that method (because they use the superclass as their scene s class, not the subclass). As part of this, you might want to copy/paste entire scenes (and then change only their class). Then you can do this whole thing with unwinds only. Just food for thought. If this is confusing you, feel free to ignore this Hint and do it another way. 4. Check out the documentation for UIWebView. 5. When you create a UITableViewController subclass, the template will actually include some methods to help with this. 6. Here are some things to consider 6.a. The template you get when you create a subclass of UICollectionViewController has a call to registerclass in viewdidload. DELETE THIS LINE OF CODE. You will be setting the class of your UICollectionViewCells in the storyboard instead. If you do not delete this call to registerclass, it will override anything you do in the storyboard since viewdidload gets called after the storyboard is done loading. 6.b. Because you will obviously be downloading all those images off the main thread, scrolling around should be snappy, but, frankly, if you re-download them over and over as the user scrolls around, you ll get a lot of blank spaces that fill in over time and won t really look that great. So cache the images. Check out the class NSCache. It is like an NSDictionary (objectforkey and setobject:forkey), but adds the concept of a cost of something being in the cache via setobject:forkey:cost:. The cost of an image could be its size in kb, for example. The NSCache will throw things out of the cache any time it wants, so you will always just lookup the NSURL you want (to find the associated UIImage), use it if you find it, or just download it again if you don t. You ll want your cache associated with your UICollectionViewController subclass PAGE 9 OF 10
10 6.c. 6.d. 6.e. 6.f. (so that it will be shared by all the cells and so that it will go away when the controller goes away). You ll have to figure out the right way to make the cache available to the cells. The big difference between a UITableView and a UICollectionView is that a table view is always laid out in exactly the same way (i.e. rows in a single column). A collection view has a UICollectionViewLayout property which determines how its cells are layout (and is thus massively flexible). UICollectionViews by default use a UICollectionViewFlowLayout to lay out its cells kind of like the characters in justified text are laid out. That should suit your purposes here just fine! Things like the size of a cell is determined by the delegate in both table views and collection views, but in collection views, the delegate responds to a protocol that is specific to its layout engine. For a FlowLayout, the protocol is called UICollectionViewDelegateFlowLayout. So if you want to control the size of cells, for example, you d implement collectionview:layout:sizeforitematindexpath: in your UICollectionViewController subclass. You can take the easy way out and pick a predetermined size for the cells in the UICollectionView or, perhaps better, pick a predetermined area (i.e. width x height) for each one (but maintain each image s aspect ratio). It would be cool to have pinching on the UICollectionView make the cell s size get larger and smaller (i.e. showing more or fewer images). Pinching should be trivial to implement if you take the approach above to size your cells (pinching would just scale the area up and down). To show the tweet whose image gets clicked on, you can reuse your view controller that shows a list of tweets but you ll have to modify it to be able to be told to show a specific tweet(s) (in addition to still being able to search for tweets). PAGE 10 OF 10
Assignment III: Graphing Calculator
Assignment III: Graphing Calculator Objective The goal of this assignment is to reuse your CalculatorBrain and CalculatorViewController objects to build a Graphing Calculator for iphone and ipad. By doing
More informationAssignment III: Graphing Calculator
Assignment III: Graphing Calculator Objective You will enhance your Calculator to create a graph of the program the user has entered which can be zoomed in on and panned around. Your app will now work
More informationStanford CS193p. Developing Applications for ios. Fall CS193p. Fall
Stanford Developing Applications for ios Today Drag and Drop Transferring information around within and between apps. EmojiArt Demo Drag and drop an image to get our EmojiArt masterpieces started. UITableView
More informationAssignment III: Graphing Calculator
Assignment III: Graphing Calculator Objective You will enhance your Calculator to create a graph of the program the user has entered which can be zoomed in on and panned around. Your app will now work
More informationStanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015
Stanford CS193p Developing Applications for ios Today UITextField Bonus Topic! Table View A UIView for displaying long lists or tables of data UITextField Like UILabel, but editable Typing things in on
More informationAssignment III: Graphing Calculator
Assignment III: Graphing Calculator Objective The goal of this assignment is to reuse your CalculatorBrain and CalculatorViewController objects to build a Graphing Calculator. By doing this, you will gain
More informationAssignment I: Concentration
Assignment I: Concentration Objective The goal of this assignment is to recreate the demonstration given in lecture and then make some small enhancements. It is important that you understand what you are
More informationIntroductory ios Development
Introductory ios Development 152-164 Unit 5 - Multi-View Apps Quick Links & Text References What is a Delegate? What is a Protocol? Delegates, Protocols and TableViews Creating a Master-Detail App Modifying
More informationAssignment II: Calculator Brain
Assignment II: Calculator Brain Objective You will start this assignment by enhancing your Assignment 1 Calculator to include the changes made in lecture (i.e. CalculatorBrain, etc.). This is the last
More informationITP 342 Mobile App Dev. Collection View
ITP 342 Mobile App Dev Collection View Collection View A collection view manages an ordered collection of items and presents them in a customizable layout. A collection view: Can contain optional views
More informationios Mobile Development
ios Mobile Development Today UITableView! Data source-driven vertical list of views.! ipad! Device-specific UI idioms.! Demo! Shutterbug UITableView Very important class for displaying data in a table!
More informationView Controller Lifecycle
View Controller Lifecycle View Controllers have a Lifecycle A sequence of messages is sent to them as they progress through it Why does this matter? You very commonly override these methods to do certain
More informationITP 342 Mobile App Dev. Table Views
ITP 342 Mobile App Dev Table Views Tables A table presents data as a scrolling, singlecolumn list of rows that can be divided into sections or groups. Use a table to display large or small amounts of information
More informationAssignment II: Foundation Calculator
Assignment II: Foundation Calculator Objective The goal of this assignment is to extend the CalculatorBrain from last week to allow inputting variables into the expression the user is typing into the calculator.
More informationITP 342 Mobile App Dev. Table Views
ITP 342 Mobile App Dev Table Views Table Views The most common mechanism used to display lists of data to the user Highly configurable objects that can be made to look practically any way you want them
More informationLecture 8 Demo Code: Cassini Multithreading
Lecture 8 Demo Code: Cassini Multithreading Objective Included below is the source code for the demo in lecture. It is provided under the same Creative Commons licensing as the rest of CS193p s course
More informationCS193P - Lecture 8. iphone Application Development. Scroll Views & Table Views
CS193P - Lecture 8 iphone Application Development Scroll Views & Table Views Announcements Presence 1 due tomorrow (4/28)! Questions? Presence 2 due next Tuesday (5/5) Announcements Enrolled students who
More informationLearn to make desktop LE
HACKING WITH SWIFT COMPLETE TUTORIAL COURSE Learn to make desktop LE P apps with real-worldam S Swift projects REEPaul Hudson F Project 1 Storm Viewer Get started coding in Swift by making an image viewer
More informationCSE 438: Mobile Application Development Lab 2: Virtual Pet App
CSE 438: Mobile Application Development Lab 2: Virtual Pet App Overview In this lab, you will create an app to take care of your very own virtual pets! The app will only have one screen and simple logic,
More information1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney
1 Build Your First App The way to get started is to quit talking and begin doing. Walt Disney Copyright 2015 AppCoda Limited All rights reserved. Please do not distribute or share without permission. No
More informationMobile Development - Lab 2
Mobile Development - Lab 2 Objectives Illustrate the delegation mechanism through examples Use a simple Web service Show how to simply make a hybrid app Display data with a grid layout Delegation pattern
More informationS A M P L E C H A P T E R
SAMPLE CHAPTER Anyone Can Create an App by Wendy L. Wise Chapter 5 Copyright 2017 Manning Publications brief contents PART 1 YOUR VERY FIRST APP...1 1 Getting started 3 2 Building your first app 14 3 Your
More informationObjective-C Primer. iphone Programmer s Association. Lorenzo Swank September 10, 2008
Objective-C Primer iphone Programmer s Association Lorenzo Swank September 10, 2008 Disclaimer Content was blatantly and unapologetically stolen from the WWDC 2007 Fundamentals of Cocoa session, as well
More informationStanford CS193p. Developing Applications for ios. Spring CS193p. Spring 2016
Stanford Developing Applications for ios Today Views Custom Drawing Demo FaceView Views A view (i.e. UIView subclass) represents a rectangular area Defines a coordinate space For drawing And for handling
More informationSocial Pinboard: ios(swift) Application
Social Pinboard: ios(swift) Application Document Version 1.0.1 Date: 15 th May, 2015 2 [SOCIAL PINBOARD: APP DOCUMENTATION] Important Notes:... 5 AppDelegate Class Reference... 6 Tasks... 6 Instance Methods...
More informationAssignment I Walkthrough
Assignment I Walkthrough Objective Reproduce the demonstration (building a calculator) given in class. Materials By this point, you should have been sent an invitation to your sunet e-mail to join the
More informationORB Education Quality Teaching Resources
These basic resources aim to keep things simple and avoid HTML and CSS completely, whilst helping familiarise students with what can be a daunting interface. The final websites will not demonstrate best
More informationios Mobile Development
ios Mobile Development Today UITextView Scrollable, editable/selectable view of a mutable attributed string. View Controller Lifecycle Finding out what s happening as a VC is created, hooked up to the
More informationExcel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller
Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing
More informationStructuring an App Copyright 2013 Apple Inc. All Rights Reserved.
Structuring an App App Development Process (page 30) Designing a User Interface (page 36) Defining the Interaction (page 42) Tutorial: Storyboards (page 47) 29 App Development Process Although the task
More informationFrontPage 98 Quick Guide. Copyright 2000 Peter Pappas. edteck press All rights reserved.
Master web design skills with Microsoft FrontPage 98. This step-by-step guide uses over 40 full color close-up screen shots to clearly explain the fast and easy way to design a web site. Use edteck s QuickGuide
More informationStanford CS193p. Developing Applications for ios. Spring CS193p. Spring 2016
Stanford Developing Applications for ios Today Memory Management for Reference Types Controlling when things leave the heap Closure Capture Closures capture things into the heap too Extensions A simple,
More informationStanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017
Stanford Developing Applications for ios Today Error Handling in Swift try Extensions A simple, powerful, but easily overused code management syntax Protocols Last (but certainly not least important) typing
More informationUICollectionView. NSCoder Milwaukee. 2 April John Psuik. Tuesday, April 2, 13
UICollectionView NSCoder Milwaukee 2 April 2013 John Psuik 1 UICollectionView New to ios 6 Layouts determine placement of items (flowlayout and custom layout) UITableView concepts, but you can do so much
More informationHow to Make a Book Interior File
How to Make a Book Interior File These instructions are for paperbacks or ebooks that are supposed to be a duplicate of paperback copies. (Note: This is not for getting a document ready for Kindle or for
More informationEDITING AN EXISTING REPORT
Report Writing in NMU Cognos Administrative Reporting 1 This guide assumes that you have had basic report writing training for Cognos. It is simple guide for the new upgrade. Basic usage of report running
More informationMy First iphone App (for Xcode version 6.4)
My First iphone App (for Xcode version 6.4) 1. Tutorial Overview In this tutorial, you re going to create a very simple application on the iphone or ipod Touch. It has a text field, a label, and a button
More informationKeep Track of Your Passwords Easily
Keep Track of Your Passwords Easily K 100 / 1 The Useful Free Program that Means You ll Never Forget a Password Again These days, everything you do seems to involve a username, a password or a reference
More informationStanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011
Developing Applications for ios Today UI Element of the Week UIToolbar ipad Split View Popover Universal (iphone + ipad) Application Demo Friday Section AVFoundation framework - Capturing and manipulating
More informationCOMPLETE TUTORIAL COURSE. Learn to make tvos LE. apps with real-worldam S F
HACKING WITH SWIFT COMPLETE TUTORIAL COURSE Learn to make tvos LE P apps with real-worldam S Swift projects REEPaul Hudson F Project 1 Randomly Beautiful 2 www.hackingwithswift.com Setting up In this first
More informationCollection Views. Dr. Sarah Abraham
Collection Views Dr. Sarah Abraham University of Texas at Austin CS329e Fall 2016 What is a Collection View? Presents an ordered set of data items in a flexible layout Subclass of UIScrollView (like UITableView)
More informationios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout
ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout Overview : Today s Lecture Model View Controller Design Pattern Creating Views in Storyboard Connecting your Views to Code Auto
More informationDIRECTV Message Board
DIRECTV Message Board DIRECTV Message Board is an exciting new product for commercial customers. It is being shown at DIRECTV Revolution 2012 for the first time, but the Solid Signal team were lucky enough
More informationDeveloping Applications for ios
Developing Applications for ios Lecture 7: View Controller Lifecycle and UIKit Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Content View Controller
More informationAppendix A Design. User-Friendly Web Pages
Appendix A Design User-Friendly Web Pages 2 How to Do Everything with FrontPage 2002 If you have surfed the Web for any significant period of time, you know that there are plenty of Web sites out there
More informationCS193P: HelloPoly Walkthrough
CS193P: HelloPoly Walkthrough Overview The goal of this walkthrough is to give you a fairly step by step path through building a simple Cocoa Touch application. You are encouraged to follow the walkthrough,
More informationStanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017
Stanford Developing Applications for ios Today Views Custom Drawing Demo FaceView Views A view (i.e. UIView subclass) represents a rectangular area Defines a coordinate space For drawing And for handling
More informationWeb API Lab. The next two deliverables you shall write yourself.
Web API Lab In this lab, you shall produce four deliverables in folder 07_webAPIs. The first two deliverables should be pretty much done for you in the sample code. 1. A server side Web API (named listusersapi.jsp)
More informationGuide - The limitations in screen layout using the Item Placement Tool
Guide - The limitations in screen layout using the Item Placement Tool 1/8 Guide - The limitations in screen layout using the Item Placement Tool I the B1 Usability Package we have the Item Placement Tool
More informationStanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017
Stanford Developing Applications for ios Today Core Data Object-Oriented Database Core Data Database Sometimes you need to store large amounts of data or query it in a sophisticated manner. But we still
More informationCreate and edit word processing. Pages.
Create and edit word processing documents with Pages. In this chapter, we begin to get work done on the ipad by using Pages to create and format documents. Creating a New Document Styling and Formatting
More informationHow To Get Your Word Document. Ready For Your Editor
How To Get Your Word Document Ready For Your Editor When your document is ready to send to your editor you ll want to have it set out to look as professional as possible. This isn t just to make it look
More informationApple Development Technology Workshops
Apple Development Technology Workshops Workshop 10 Table Views Building iphone Apps. Pt 2 Fall 2008 Hafez Rouzati Fall 2008 Zach Pousman Last Week UIViewControllers Organizing Content & Building iphone
More informationDeveloping Applications for ios
Developing Applications for ios Lab 2: RPN Calculator App (1 of 3) Radu Ionescu raducu.ionescu@gmail.com Faculty of Mathematics and Computer Science University of Bucharest Task 1 Task: Create a new application
More informationExcel Basics: Working with Spreadsheets
Excel Basics: Working with Spreadsheets E 890 / 1 Unravel the Mysteries of Cells, Rows, Ranges, Formulas and More Spreadsheets are all about numbers: they help us keep track of figures and make calculations.
More informationAnimations involving numbers
136 Chapter 8 Animations involving numbers 8.1 Model and view The examples of Chapter 6 all compute the next picture in the animation from the previous picture. This turns out to be a rather restrictive
More informationCreating Universally Designed Word 2013 Documents - Quick Start Guide
Creating Universally Designed Word 2013 Documents - Quick Start Guide Overview Creating accessible documents ones that work well with all sorts of technology can be a daunting task. The purpose of this
More informationThis Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step.
This Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step. Table of Contents Just so you know: Things You Can t Do with Word... 1 Get Organized... 1 Create the
More informationDOING MORE WITH WORD: MICROSOFT OFFICE 2010
DOING MORE WITH WORD: MICROSOFT OFFICE 2010 GETTING STARTED PAGE 02 Prerequisites What You Will Learn USING MICROSOFT WORD PAGE 03 Viewing Toolbars Adding and Removing Buttons MORE TASKS IN MICROSOFT WORD
More informationCourse Exercises for the Content Management System. Grazyna Whalley, Laurence Cornford June 2014 AP-CMS2.0. University of Sheffield
Course Exercises for the Content Management System. Grazyna Whalley, Laurence Cornford June 2014 AP-CMS2.0 University of Sheffield PART 1 1.1 Getting Started 1. Log on to the computer with your usual username
More informationToday s Topics. Scroll views Table views. UITableViewController Table view cells. Displaying data Controlling appearance & behavior
Today s Topics Scroll views Table views Displaying data Controlling appearance & behavior UITableViewController Table view cells Scroll Views UIScrollView For displaying more content than can fit on the
More informationThis Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step.
This Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step. Table of Contents Get Organized... 1 Create the Home Page... 1 Save the Home Page as a Word Document...
More informationFormatting a Report with Word 2010
Formatting a Report with Word 2010 The basics Although you can use Word to do a great many formatting tasks, here we will concentrate on the basic requirements for good presentation of a report. These
More informationIntro. Scheme Basics. scm> 5 5. scm>
Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if
More informationOn the Web sun.com/aboutsun/comm_invest STAROFFICE 8 DRAW
STAROFFICE 8 DRAW Graphics They say a picture is worth a thousand words. Pictures are often used along with our words for good reason. They help communicate our thoughts. They give extra information that
More informationStanford CS193p. Developing Applications for ios. Fall CS193p. Fall
Stanford Developing Applications for ios Today More about Documents Demo Use Codable to create a JSON representation of our document Store it in the filesystem Think better of that and let UIDocument store
More informationUSING DRUPAL. Hampshire College Website Editors Guide https://drupal.hampshire.edu
USING DRUPAL Hampshire College Website Editors Guide 2014 https://drupal.hampshire.edu Asha Kinney Hampshire College Information Technology - 2014 HOW TO GET HELP Your best bet is ALWAYS going to be to
More informationA Better MVC. 300 line view controllers or bust. Dave A guy who thinks too deeply about stuff
A Better MVC 300 line view controllers or bust Dave DeLong @davedelong A guy who thinks too deeply about stuff Heads Up This is all my opinion (! hi legal & pr teams!) Lots of similar terminology View
More informationTouring the Mac S e s s i o n 4 : S A V E, P R I N T, C L O S E & Q U I T
Touring the Mac S e s s i o n 4 : S A V E, P R I N T, C L O S E & Q U I T Touring_the_Mac_Session-4_Feb-22-2011 1 To store your document for later retrieval, you must save an electronic file in your computer.
More informationJump to: Using AAUP Photos AAUP Logos Embedding the AAUP Twitter Feed Embedding the AAUP News Feed CREATING A WEBSITE
Jump to: Using AAUP Photos AAUP Logos Embedding the AAUP Twitter Feed Embedding the AAUP News Feed CREATING A WEBSITE You can make a simple, free chapter website using Google Sites. To start, go to https://sites.google.com/
More informationAdvanced ios. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012
Advanced ios CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012 1 Goals of the Lecture Present a few additional topics and concepts related to ios programming persistence serialization
More informationDesigning iphone Applications
Designing iphone Applications 4 Two Flavors of Mail 5 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content Focus on your user s data 6 Organizing Content
More informationHello! ios Development
SAMPLE CHAPTER Hello! ios Development by Lou Franco Eitan Mendelowitz Chapter 1 Copyright 2013 Manning Publications Brief contents PART 1 HELLO! IPHONE 1 1 Hello! iphone 3 2 Thinking like an iphone developer
More informationMVC & Onwards. CS 442: Mobile App Development Michael Saelee
MVC & Onwards CS 442: Mobile App Development Michael Saelee Agenda - Recap: view-controller communication - Delegation as a general pattern - Observer pattern - Controller responsibilities & MVC - Multiple
More informationStanford CS193p. Developing Applications for iphone 4, ipod Touch, & ipad Fall Stanford CS193p Fall 2010
Developing Applications for iphone 4, ipod Touch, & ipad Today More Core Data What does the code for the custom NSManagedObject subclasses generated by Xcode look like? Querying for (fetching) objects
More informationIntro to Development for ios. Dave Koziol Arbormoon Software, Inc.
Intro to Development for ios Dave Koziol Arbormoon Software, Inc. About Me Long time Apple Developer (21 WWDCs) Organizer Ann Arbor CocoaHeads President & ios Developer at Arbormoon Software Inc. Multiple
More informationDOING MORE WITH WORD: MICROSOFT OFFICE 2013
DOING MORE WITH WORD: MICROSOFT OFFICE 2013 GETTING STARTED PAGE 02 Prerequisites What You Will Learn USING MICROSOFT WORD PAGE 03 Viewing Toolbars Adding and Removing Buttons MORE TASKS IN MICROSOFT WORD
More informationStanford CS193p. Developing Applications for ios Fall Stanford CS193p. Fall 2013
Developing Applications for ios -14 Today What is this class all about? Description Prerequisites Homework / Final Project ios Overview What s in ios? MVC Object-Oriented Design Concept Objective C (Time
More informationJohn W. Jacobs Technology Center 450 Exton Square Parkway Exton, PA Introduction to
John W. Jacobs Technology Center 450 Exton Square Parkway Exton, PA 19341 610.280.2666 ccljtc@ccls.org Introduction to Microsoft Access 2007 Introduction to Microsoft Access What is Microsoft Access? Access
More informationCreating Universally Designed Word 2010 Documents - Quick Start Guide
Creating Universally Designed Word 2010 Documents - Quick Start Guide Overview Creating accessible documents ones that work well with all sorts of technology can be a daunting task. The purpose of this
More informationLifehack #1 - Automating Twitter Growth without Being Blocked by Twitter
Lifehack #1 - Automating Twitter Growth without Being Blocked by Twitter Intro 2 Disclaimer 2 Important Caveats for Twitter Automation 2 Enter Azuqua 3 Getting Ready 3 Setup and Test your Connection! 4
More informationStanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011
Developing Applications for ios Views A view (i.e. UIView subclass) represents a rectangular area Defines a coordinate space Draws and handles events in that rectangle Hierarchical A view has only one
More informationHow To Use My Alternative High
How To Use My Alternative High Preface Preface I put this together to address the issues and questions that come up all the time in class, especially for newer students. Preface I did this so that I could
More informationExcel 2013 Getting Started
Excel 2013 Getting Started Introduction Excel 2013 is a spreadsheet program that allows you to store, organize, and analyze information. While you may think that Excel is only used by certain people to
More informationKarlen Communications Track Changes and Comments in Word. Karen McCall, M.Ed.
Karlen Communications Track Changes and Comments in Word Karen McCall, M.Ed. Table of Contents Introduction... 3 Track Changes... 3 Track Changes Options... 4 The Revisions Pane... 10 Accepting and Rejecting
More informationMORE OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 4 09/01/2011
MORE OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 4 09/01/2011 1 Goals of the Lecture Continue a review of fundamental object-oriented concepts 2 Overview of OO Fundamentals
More informationLesson 4: Introduction to the Excel Spreadsheet 121
Lesson 4: Introduction to the Excel Spreadsheet 121 In the Window options section, put a check mark in the box next to Formulas, and click OK This will display all the formulas in your spreadsheet. Excel
More informationSAMPLE PAPER FOR AN IGBR JOURNAL OR PROCEEDINGS PUBLICATION
SAMPLE PAPER FOR AN IGBR JOURNAL OR PROCEEDINGS PUBLICATION John Smith, University of Abcdef ABSTRACT Each paper must start off with an abstract (with the exception of case studies). The abstract should
More informationDrupal Cloud Getting Started Guide Creating a Lab site with the MIT DLC Theme
Introduction Drupal Cloud Getting Started Guide Creating a Lab site with the MIT DLC Theme In this Getting Started Guide, you can follow along as a website is built using the MIT DLC Theme. Whether you
More informationCSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch
CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed
More informationStanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015
Stanford CS193p Developing Applications for ios Today Objective-C Compatibility Bridging Property List NSUserDefaults Demo: var program in CalculatorBrain Views Custom Drawing Demo FaceView Bridging Objective-C
More informationintroduction what you'll learn
introduction Jetpack is a plugin made by the same people that made Wordpress. By installing Jetpack you add a variety of useful modules to your Wordpress website. To use Jetpack on your website you need
More informationThis wouldn t work without the previous declaration of X. This wouldn t work without the previous declaration of y
Friends We want to explicitly grant access to a function that isn t a member of the current class/struct. This is accomplished by declaring that function (or an entire other struct) as friend inside the
More informationTHE 18 POINT CHECKLIST TO BUILDING THE PERFECT LANDING PAGE
THE 18 POINT CHECKLIST TO BUILDING THE PERFECT LANDING PAGE The 18 point checklist to building the Perfect landing page Landing pages come in all shapes and sizes. They re your metaphorical shop front
More informationEXCEL + POWERPOINT. Analyzing, Visualizing, and Presenting Data-Rich Insights to Any Audience KNACK TRAINING
EXCEL + POWERPOINT Analyzing, Visualizing, and Presenting Data-Rich Insights to Any Audience KNACK TRAINING KEYBOARD SHORTCUTS NAVIGATION & SELECTION SHORTCUTS 3 EDITING SHORTCUTS 3 SUMMARIES PIVOT TABLES
More informationThe Paperless Classroom with Google Docs by - Eric Curts
The Paperless Classroom with Google Docs by - Eric Curts Table of Contents Overview How to name documents and folders How to choose sharing options: Edit, Comment, and View How to share a document with
More informationWelcome to Introduction to Microsoft Excel 2010
Welcome to Introduction to Microsoft Excel 2010 2 Introduction to Excel 2010 What is Microsoft Office Excel 2010? Microsoft Office Excel is a powerful and easy-to-use spreadsheet application. If you are
More informationXamarin for C# Developers
Telephone: 0208 942 5724 Email: info@aspecttraining.co.uk YOUR COURSE, YOUR WAY - MORE EFFECTIVE IT TRAINING Xamarin for C# Developers Duration: 5 days Overview: C# is one of the most popular development
More informationArchitectural Engineering Senior Thesis CPEP Webpage Guidelines and Instructions
Architectural Engineering Senior Thesis CPEP Webpage Guidelines and Instructions Your Thesis Drive (T:\) Each student is allocated space on the Thesis drive. Any files on this drive are accessible from
More informationCSCU9B2 Practical 1: Introduction to HTML 5
CSCU9B2 Practical 1: Introduction to HTML 5 Aim: To learn the basics of creating web pages with HTML5. Please register your practical attendance: Go to the GROUPS\CSCU9B2 folder in your Computer folder
More information