Cocoa: a New Flavor to Mac OS Development

Total Page:16

File Type:pdf, Size:1020Kb

Cocoa: a New Flavor to Mac OS Development ADC May 2001 4/6/01 2:27 PM Page 1 Apple Developer Connection Direct Cocoa: A New Flavor to Mac OS Development ac OS X integrates five separate application runtime environ- imaging and printing model, multimedia standards QuickTime and ments—Carbon, Cocoa, Classic, Java, and BSD—into one seam- OpenGL, and Internet and BSD services, too. Localization and Mless whole, providing developers with many options. This arti- Internationalization are also well supported by Cocoa. The separation of cle introduces Cocoa, an important development technology used by user interface elements from executable code allows you to package your Apple, to develop many of the applications that ship with Mac OS X. applications for different locales easily, with no code changes. All Cocoa Cocoa constitutes a new, highly efficient way for developers to create new text drawing utilizes the Unicode standards. The text and font systems are products for Mac OS X. particularly flexible and allow you to use sophisticated word processing features with little effort. A Brief Overview An important development advantage that Cocoa offers is the capability Cocoa is an object-oriented application framework and runtime environ- to develop programs quickly and easily by assembling reusable compo- ment—a set of software components used to construct applications that nents. With reusable components, developers can not only create applica- run on Mac OS X. Think of Cocoa as a large set of reusable application tions, but also produce: building blocks that can be used as delivered or • Frameworks (sophisticated library structures) extended for your specific needs. • Bundles of executable code and associated resources which can be Cocoa is based on OpenStep, an object-ori- loaded and executed dynamically ented technology that was originally intro- • Collections of custom user-interface objects duced in 1987 as NeXTSTEP and has been These capabilities support the easy creation and distribution of applica- refined through many iterations. tion plug-ins and extensions. Consequently, Cocoa is mature technology based on a design years ahead of other Tools and Resources object-oriented frameworks. Apple put the tools for Cocoa development directly into the hands of Like any software library, Cocoa has a developers by including them in every Mac OS X package on the Mac OS X learning curve for newcomers, but it is not Developer Tools CD. Just install the Developer.pkg file and the complete an overly difficult one and productivity comes Apple tool suite is installed and ready for use. This installation includes quickly. The Cocoa framework delivers a great deal of fundamental appli- the Project Builder Integrated Development Environment, Interface cation functionality so you can spend the majority of your energy working Builder—the application for designing and testing user interfaces and on application features rather than managing the more tedious parts of establishing the connections between objects and actions—as well as all system interface and user experience implementation. the interface files, debugging and performance tools, and full online docu- The primary implementation language used in Cocoa is Objective-C, a mentation. superset of ANSI C with specific language features added to allow for Once you have installed the Developer.pkg, open a Finder window and object-oriented programming. The language extensions in Objective-C are you will find the /Developer directory on your system volume. Inside this compact and easy to learn. Cocoa applications make extensive use of the directory, in /Applications, are the Project Builder and Interface Builder classes and methods in Cocoa component libraries. However, because of applications along with many other tools. In /Developer/Documentation Objective-C’s compatibility with ANSI C, they can also make use of core are folders containing PDF and HTML help and documentation files for functionality contained in traditional C and C++ libraries brought from Cocoa and the developer tools. other application environments. Finally, in /Developer/Examples are /AppKit and /Foundation sample code folders with Cocoa applications for you to learn from and even reuse Features and Development Scope for your own project. Cocoa is a peer to the Carbon and Java application development environ- ments in Mac OS X. Cocoa supports all Mac OS X application service fea- Taking Apart the Technology tures. For example, Cocoa applications can access the Mac OS X native Cocoa is comprised of two object-oriented frameworks: Foundation Godfrey DiGiorgi is Technology Manager for Development Tools & Cocoa in Apple Worldwide Developer Relations. He’s been associated with Macintosh development for more years than he’d care to admit. He can be reached at [email protected]. ADC May 2001 4/6/01 2:27 PM Page 2 Updates from the Apple Developer Connection May 2001 (Foundation.framework) and Application Kit (AppKit.framework). The can do so easily through the use of a mechanism called inheritance. You Foundation classes provide the low-level objects and functionality that only need to code the specific functionality you are adding to a class, the form the basis of the Cocoa environment. The classes in Application Kit rest of the object’s behavior is inherited from the preexisting parent class. provide the functionality users see in the user interface, which respond to For more information, see the documentation in: system events such as mouse clicks and key presses. The Application Kit is /Developer/Documentation/Cocoa/ObjectiveC/index.html. layered directly on Foundation. Here is a brief look at the functionality contained in each of these frameworks. Fundamentals of Cocoa Programming The Foundation Framework is designed to provide a set of basic utility Cocoa is a rich object-oriented environment. Object-oriented programming classes, introduce consistent conventions for paradigms (such as memory makes heavy use of patterns to simplify design and implementation of com- management) support Unicode strings, object persistence, and file man- plex systems. The three most essential patterns to learn when starting are: agement. Foundation includes: 1. Model-View-Controller (MVC) - MVC defines three types of objects in • the root object class an application: model, view, and controller. Model objects hold data and • classes representing basic data types such as strings and byte arrays define the logic that manipulates that data. View objects represent user • collection classes for storing other objects interface elements (a window, for example). Controller objects act as • classes representing system information such as dates and mediators between model objects and view objects. This mediation role • classes representing communication ports allows view objects to be free from the programmatic interfaces of models Several paradigms are also defined in Foundation to help avoid confu- and vice-versa. sion in common situations and introduce consistency across class hierar- 2. Target/Action - This is part of the mechanism by which user interface chies. This is done with some standard policies, like the one used for controls respond to user actions. When a user clicks a user interface con- object ownership (answering questions such as: “Who is responsible for trol, the control sends an action message to the target object. disposing of an object?”), and also with abstract classes which enumerate 3. Delegation - Delegation lets you modify an object’s behavior without cre- over collections. These paradigms reduce special and exceptional cases in ating a custom subclass. A delegate acts on behalf of another object. When code management and allow reuse of the same mechanisms with various a delegate receives a message (from a window, a view, etc.), the sender of kinds of objects. All together, these paradigms improve development effi- the message is allowing the delegate to influence its behavior and aid in ciency and productivity. decision-making (such as: “Should I allow the user to close me?”). The Application Kit framework contains all the objects needed to Cocoa leverages the dynamic binding and object introspection capabil- implement the graphical, event-driven user interface: windows, panels, ities of Objective-C and Java by allowing delegate objects to implement buttons, menus, scrollers, text fields, etc. The Application Kit handles all just the functionality they want to influence. At runtime, the delegating the details for you as it efficiently draws on the screen, communicates with objects can query their delegates to see what methods have actually been hardware devices and screen buffers, clears areas of the screen before implemented. This saves you from having to subclass some specific par- drawing, and clips views. There are over a hundred classes in the ent class (that has all the default implementations), helping to preserve Application Kit, so it might seem a steep learning curve, but many of the your application’s unique class hierarchy. Application Kit classes are support classes that are only used indirectly. For a detailed listing of the Foundation and Application Kit object Continued on page ?? ☛ classes, see the documentation in: /Developer/Documentation/Cocoa/CocoaTopics.html. Object-Oriented Programming Project Builder For traditional Mac programmers, Cocoa development represents a para- digm shift—from a procedural to an object-oriented development model. Tips & Tricks The “free” functionality found in the Foundation and Application Kit • You can use Build
Recommended publications
  • Programming Java for OS X
    Programming Java for OS X hat’s so different about Java on a Mac? Pure Java applica- tions run on any operating system that supports Java. W Popular Java tools run on OS X. From the developer’s point of view, Java is Java, no matter where it runs. Users do not agree. To an OS X user, pure Java applications that ignore the feel and features of OS X are less desirable, meaning the customers will take their money elsewhere. Fewer sales translates into unhappy managers and all the awkwardness that follows. In this book, I show how to build GUIs that feel and behave like OS X users expect them to behave. I explain development tools and libraries found on the Mac. I explore bundling of Java applications for deployment on OS X. I also discuss interfacing Java with other languages commonly used on the Mac. This chapter is about the background and basics of Java develop- ment on OS X. I explain the history of Java development. I show you around Apple’s developer Web site. Finally, I go over the IDEs commonly used for Java development on the Mac. In This Chapter Reviewing Apple Java History Exploring the history of Apple embraced Java technologies long before the first version of Java on Apple computers OS X graced a blue and white Mac tower. Refugees from the old Installing developer tan Macs of the 1990s may vaguely remember using what was tools on OS X called the MRJ when their PC counterparts were busy using JVMs. Looking at the MRJ stands for Mac OS Runtime for Java.
    [Show full text]
  • Openstep User Interface Guidelines
    OpenStep User Interface Guidelines 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. Part No: 802-2109-10 A Sun Microsystems, Inc. Business Revision A, September 1996 1996 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. Portions Copyright 1995 NeXT Computer, Inc. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® system, licensed from UNIX System Laboratories, Inc., a wholly owned subsidiary of Novell, Inc., and from the Berkeley 4.3 BSD system, licensed from the University of California. Third-party font software, including font technology in this product, is protected by copyright and licensed from Sun's suppliers. This product incorporates technology licensed from Object Design, Inc. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227-19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, SunSoft, the SunSoft logo, Solaris, SunOS, and OpenWindows are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
    [Show full text]
  • Development Production Line the Short Story
    Development Production Line The Short Story Jene Jasper Copyright © 2007-2018 freedumbytes.dev.net (Free Dumb Bytes) Published 3 July 2018 4.0-beta Edition While every precaution has been taken in the preparation of this installation manual, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To get an idea of the Development Production Line take a look at the following Application Integration overview and Maven vs SonarQube Quality Assurance reports comparison. 1. Operating System ......................................................................................................... 1 1.1. Windows ........................................................................................................... 1 1.1.1. Resources ................................................................................................ 1 1.1.2. Desktop .................................................................................................. 1 1.1.3. Explorer .................................................................................................. 1 1.1.4. Windows 7 Start Menu ................................................................................ 2 1.1.5. Task Manager replacement ........................................................................... 3 1.1.6. Resource Monitor .....................................................................................
    [Show full text]
  • DISCOVERING OPENSTEP: a Developer Tutorial
    DISCOVERING OPENSTEP: A Developer Tutorial Rhapsody Developer Release Apple Computer, Inc. User Interface Tips copyright © 1997 Apple Computer, Inc. All rights reserved. [6467.00] No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, electronic, photocopying, recording, or otherwise, without prior written permission of Apple Computer, Inc., except to make a backup copy of any documentation provided on CD-ROM. Printed in the United States of America. The Apple logo is a trademark of Apple Computer, Inc. Use of the “keyboard” Apple logo (Option-Shift-K) for commercial purposes without the prior written consent of Apple may constitute trademark infringement and unfair competition in violation of federal and state laws. No licenses, express or implied, are granted with respect to any of the technology described in this book. Apple retains all intellectual property rights associated with the technology described in this book. This book is intended to assist application developers to develop applications only for Apple-labeled or Apple-licensed computers. Every effort has been made to ensure that the information in this manual is accurate. Apple is not responsible for printing or clerical errors. Apple Computer, Inc. 1 Infinite Loop Cupertino, CA 95014 408-996-1010 Apple, and the Apple logo are trademarks of Apple Computer, Inc., registered in the United States and other countries. NeXT, the NeXT logo, NEXTSTEP, the NEXTSTEP logo, Digital Librarian, NeXTmail, and
    [Show full text]
  • Cocoa Fundamentals Guide
    Cocoa Fundamentals Guide 2006-10-03 registered in the United States and other Apple Computer, Inc. countries. © 2006 Apple Computer, Inc. Adobe, Acrobat, and PostScript are All rights reserved. trademarks or registered trademarks of Adobe Systems Incorporated in the U.S. No part of this publication may be and/or other countries. reproduced, stored in a retrieval system, or transmitted, in any form or by any means, Intel and Intel Core are registered mechanical, electronic, photocopying, trademarks of Intel Corportation or its recording, or otherwise, without prior subsidiaries in the United States and other written permission of Apple Computer, Inc., countries. with the following exceptions: Any person Java and all Java-based trademarks are is hereby authorized to store documentation trademarks or registered trademarks of Sun on a single computer for personal use only Microsystems, Inc. in the U.S. and other and to print copies of documentation for countries. personal use provided that the OpenGL is a registered trademark of Silicon documentation contains Apple’s copyright Graphics, Inc. notice. Simultaneously published in the United The Apple logo is a trademark of Apple States and Canada. Computer, Inc. Even though Apple has reviewed this document, Use of the “keyboard” Apple logo APPLE MAKES NO WARRANTY OR (Option-Shift-K) for commercial purposes REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS without the prior written consent of Apple DOCUMENT, ITS QUALITY, ACCURACY, may constitute trademark infringement and MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS unfair competition in violation of federal DOCUMENT IS PROVIDED “AS IS,” AND and state laws.
    [Show full text]
  • Mac OS X for Java™ Geeks by Will Iverson
    [ Team LiB ] • Table of Contents • Index • Reviews • Reader Reviews • Errata Mac OS X for Java™ Geeks By Will Iverson Publisher : O'Reilly Pub Date : April 2003 ISBN : 0-596-00400-1 Pages : 296 Mac OS X for Java Geeks delivers a complete and detailed look at the Mac OS X platform, geared specifically at Java developers. Programmers using the 10.2 (Jaguar) release of Mac OS X, and the new JDK 1.4, have unprecedented new functionality available to them. Whether you are a Java newbie, working your way through Java Swing and classpath issues, or you are a Java guru, comfortable with digital media, reflection, and J2EE, this book will teach you how to get around on Mac OS X. You'll also get the latest information on how to build applications that run seamlessly, and identically, on Windows, Linux, Unix, and the Mac. [ Team LiB ] [ Team LiB ] • Table of Contents • Index • Reviews • Reader Reviews • Errata Mac OS X for Java™ Geeks By Will Iverson Publisher : O'Reilly Pub Date : April 2003 ISBN : 0-596-00400-1 Pages : 296 Copyright Preface Organization Conventions Used in This Book Comments and Questions Acknowledgments Chapter 1. Getting Oriented Section 1.1. All Those Confusing Names Section 1.2. Why Now? Chapter 2. Apple's Java Platform Section 2.1. Apple JVM Basics Section 2.2. Apple's JVM Directory Layout Section 2.3. Additional APIs and Services Section 2.4. Going Forward Chapter 3. Java Tools Section 3.1. Terminal Section 3.2. Code Editors Section 3.3. Jakarta Ant Section 3.4.
    [Show full text]
  • Installation and User's Guide
    GNUstep Installation and User’s Guide Version 0.6.5 February 8, 2000 Permissions Copyright (C) 1999-2000 Free Software Foundation. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions. Apple™, OpenStep™, and the Apple logo are trademarks of Apple Computers, Inc. registered in the U.S. and other countries. PostScript™, Display PostScript™ and Adobe™ are trademarks of Adobe Systems Incorporated and may be registered in certain jurisdictions. Other company and product names mentioned herein might be trademarks of their respective companies. About the Free Software Foundation The Free Software Foundation (FSF) is dedicated to eliminating restrictions on copying, redistribution, understanding, and modification of computer programs. We do this by promoting the development and use of free software in all areas of computing---but most particularly, by helping to develop the GNU operating system. Many organizations distribute whatever free software happens to be available. In contrast, the Free Software Foundation concentrates on development of new free software---and on making that software into a coherent system that can eliminate the need to use proprietary software. Besides developing GNU, FSF distributes copies of GNU software and manuals for a distribution fee, and accepts tax-deductible gifts to support GNU development.
    [Show full text]
  • 1 Gnustep Frequently Asked Questions with Answers
    1 GNUstep Frequently Asked Questions with Answers Last updated 1 January 2008. Please send corrections to [email protected]. Also look at the user FAQ for more user oriented questions. 1.1 Compatibility 1.1.1 Is it easy to port OPENSTEP programs to GNUstep? It is probably easy for simple programs. There are some portability tools to make this easier, or rewrite the Makefiles yourself. You will also have to translate the NIB files (if there are any) to GNUstep model files using the nib2gmodel program (from ftp://ftp.gnustep.org/pub/gnustep/dev-apps). 1.1.2 How about porting between Cocoa and GNUstep? It’s easier from GNUstep to Cocoa than Cocoa to GNUstep. Cocoa is constantly changing, much faster than GNUstep could hope to keep up. They have added extensions and new classes that aren’t available in GNUstep yet. Plus there are some other issues. If you start with Cocoa: • Use #ifndef GNUSTEP for Apple only code. • Do not use CoreFoundation • Do not use Objective-C++ (except with gcc 4.1 or later) • Do not use Quicktime or other proprietary extension • GNUstep should be able to read Cocoa nib files automatically, so there is no need to port these, although you might want to have GNUstep specific versions of them anyway. See also http://mediawiki.gnustep.org/index.php/Writing_portable_code for more information. 1.1.3 Tools for porting While the programming interface should be almost transparent between systems (expect for the unimplemented parts, of course), there are a variety of other files and tools that are necessary for porting programs.
    [Show full text]
  • Objective-C Language and Gnustep Base Library Programming Manual
    Objective-C Language and GNUstep Base Library Programming Manual Francis Botto (Brainstorm) Richard Frith-Macdonald (Brainstorm) Nicola Pero (Brainstorm) Adrian Robert Copyright c 2001-2004 Free Software Foundation Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided also that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions. i Table of Contents 1 Introduction::::::::::::::::::::::::::::::::::::: 3 1.1 What is Object-Oriented Programming? :::::::::::::::::::::::: 3 1.1.1 Some Basic OO Terminology :::::::::::::::::::::::::::::: 3 1.2 What is Objective-C? :::::::::::::::::::::::::::::::::::::::::: 5 1.3 History :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 5 1.4 What is GNUstep? ::::::::::::::::::::::::::::::::::::::::::::: 6 1.4.1 GNUstep Base Library :::::::::::::::::::::::::::::::::::: 6 1.4.2 GNUstep Make Utility :::::::::::::::::::::::::::::::::::: 7 1.4.3 A Word on the Graphical Environment :::::::::::::::::::: 7 1.4.4 The GNUstep Directory Layout ::::::::::::::::::::::::::: 7 1.5 Building Your First Objective-C Program :::::::::::::::::::::: 8 2 The Objective-C Language :::::::::::::::::::
    [Show full text]
  • Openstep Programming Reference
    OpenStep Programming Reference 2550 Garcia Avenue Mountain View, CA 94043 U.S.A. Part No 802-2112-10 A Sun Microsystems, Inc. Business Revision A, September 1996 1996 Sun Microsystems, Inc. 2550 Garcia Avenue, Mountain View, California 94043-1100 U.S.A. All rights reserved. Portions Copyright 1995 NeXT Computer, Inc. All rights reserved. This product or document is protected by copyright and distributed under licenses restricting its use, copying, distribution, and decompilation. No part of this product or document may be reproduced in any form by any means without prior written authorization of Sun and its licensors, if any. Portions of this product may be derived from the UNIX® system, licensed from UNIX System Laboratories, Inc., a wholly owned subsidiary of Novell, Inc., and from the Berkeley 4.3 BSD system, licensed from the University of California. Third-party font software, including font technology in this product, is protected by copyright and licensed from Sun's suppliers. This product incorporates technology licensed from Object Design, Inc. RESTRICTED RIGHTS LEGEND: Use, duplication, or disclosure by the government is subject to restrictions as set forth in subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR 52.227- 19. The product described in this manual may be protected by one or more U.S. patents, foreign patents, or pending applications. TRADEMARKS Sun, Sun Microsystems, the Sun logo, SunSoft, the SunSoft logo, Solaris, SunOS, and OpenWindows are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.
    [Show full text]
  • Inside Mac OS X: System Overview Is Intended for Anyone Who Wants to Develop Software for Mac OS X
    Inside Mac OS X System Overview July 2002 Apple Computer, Inc. and TrueType are trademarks of THE WARRANTY AND REMEDIES SET © 2000–2002 Apple Computer, Inc. Apple Computer, Inc., registered in FORTH ABOVE ARE EXCLUSIVE AND All rights reserved. the United States and other countries. IN LIEU OF ALL OTHERS, ORAL OR WRITTEN, EXPRESS OR IMPLIED. No No part of this publication may be Carbon, Quartz, and Velocity Engine Apple dealer, agent, or employee is reproduced, stored in a retrieval are trademarks of Apple Computer, authorized to make any modification, system, or transmitted, in any form or Inc. extension, or addition to this warranty. by any means, mechanical, electronic, Enterprise Objects, Enterprise Objects photocopying, recording, or Framework, NeXT, Objective-C, and Some states do not allow the exclusion or otherwise, without prior written OpenStep are registered trademarks limitation of implied warranties or permission of Apple Computer, Inc., of NeXT Software, Inc., registered in liability for incidental or consequential with the following exceptions: Any the United States and other countries. damages, so the above limitation or person is hereby authorized to store Java and all Java-based trademarks exclusion may not apply to you. This documentation on a single computer are trademarks or registered warranty gives you specific legal rights, for personal use only and to print trademarks of Sun Microsystems, and you may also have other rights which copies of documentation for personal Inc., in the United States and other vary from state to state. use provided that the documentation countries. contains Apple’s copyright notice. Netscape Navigator is a trademark of The Apple logo is a trademark of Netscape Communications Apple Computer, Inc.
    [Show full text]
  • Master Thesis
    Introduction to the mobile application development with an example of a "PhraseBook app". Master Thesis Anuar Lezama Advisor: Josep Solé Pareta, Fotis Christodoulopoulos Escola Tècnica Superior d'Enginyeria de Telecomunicació de Barcelona Universitat Politècnica de Catalunya Barcelona, November 2010 1 To my family and friends for their love and support, to my professors for their every day commitment and dedication . 2 Project Environment 5 Work Plan 7 Introduction 9 The 3G Wireless Technology and the app stores 9 iPhone and iPod Touch 12 Merging Ideas 12 High-Tech Toys 12 iPod + iPhone + Internet communicator 13 The Market 14 The App Store 15 THE APP STORE ECONOMY 17 The educational iPhone 18 Where to Start? 20 iPhone Technical Specifications 21 Anatomy of an Application 23 App Lifecycle 23 UIKit Framework 24 Delegation 24 Info.plist file 25 Designing iPhone Applications 26 Patterns for Organizing Content 26 Navigation Bar 27 Tab Bars 28 A Screenful of Content 28 3 Model-View-Controller 29 Model Objects 30 View Objects 30 Controller Objects 31 Navigation Controllers 32 Anatomy of a Navigation Interface 33 The Top View Controller 33 Defining the Custom View 34 Controllers for a Navigation Interface 34 Scroll View and Table View 35 PhraseBook app English - Catalan 37 Model Structure 39 Project app: writing the code 40 Project app: interface builder 43 Result and Conclusions 46 Annex A 48 Annex B 49 Bibliography 54 4 Project Environment The aim of this project is to combine and apply the knowledge and experience obtained along this master degree and try to create a market opportunity by developing mobile applications for iPhone devices.
    [Show full text]