Cocoa Programming

Course

In Carshalton

£ 1,750 + VAT

Description

  • Type

    Course

  • Location

    Carshalton

  • Duration

    5 Days

Objective: The emphasis of this course is on programming. The course commences with a detailed overview of Objective C 2.0 and the Foundation Framework. The early GUI examples are devloped programmatically, outside of Interface Builder, so as to provide a fell for the framework and its constituent parts, as well as an understanding of serialisation. As well as developing proficiency in working with XCode and Interface Builder, attendees will learn how to design effective event driven user interface based applications. Suitable for: The course is for those who already know Objective C and have worked with Apple's XCode IDE. The course will be useful to a wide range of interests related to. iPhone applications development. MAC OSX applications development. iPad and iPod application development.

Facilities

Location

Start date

Carshalton (Surrey)
See map
1-3 Fairlands House, North Street, SM5 2HW

Start date

On request

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

Course programme

Objective: The emphasis of this course is on programming. The course commences with a detailed overview of Objective C 2.0 and the Foundation Framework. The early GUI examples are devloped programmatically, outside of Interface Builder, so as to provide a fell for the framework and its constituent parts, as well as an understanding of serialisation. As well as developing proficiency in working with XCode and Interface Builder, attendees will learn how to design effective event driven user interface based applications including

  • implementing code for drawing and animation
  • laying out and managing user interace widgets such as buttons, text fields, sliders and scroll bars
  • manipulating table view
  • persisting(saving)application state and user data
  • connecting to interface objects by using Interface Builder and by direct programming
Prerequisites and Suitability

The course is for those who already know Objective C and have worked with Apple's XCode IDE

The course will be useful to a wide range of interests related to

  • iPhone applications development
  • MAC OSX applications development
  • iPad and iPod application development
Course Overview

The purpose of this course is to

  • provide a complete grounding in Cocoa application development.
  • a good introduction to user interface design and implementation
  • a foundation for multi-media application develoment for MAC OSX
Course Contents Introduction
  • Overview of object oriented concepts, analysis and design
  • Overview of the XCode IDE
    • Creating and building projects
    • Running and debugging applications
    • Working with the class and document browsers
Intensive overview of Objective C
  • The Runtime System
    • Dynamic typing
    • Dynamic binding
    • Dynamic loading
  • Dynamic Properties
    • Use declare accessor methods
    • Use synthesize accessor methods
    • Sending messages
  • Categories and Protocols
  • The Foundation Framework
    • Delegation
    • Key-value coding
    • Mutable subclasses
    • Introspection
    • Testing for methods
    • Class membership
    • Inspecting classes and protocols
Files and URLs
  • Storage and retrieval of filesystem and web data
    • Serialisation
    • Arhiving
    • Encoder
    • Property lists
    • XML
    • Copying objects
Communicating
  • Near and far
  • Notification
  • Deferred messages
  • KV observing
  • Distributed objects
  • Other processes
  • Ports
  • Pipes
  • File streams
Memory Management
  • Reference counting
  • Garbage collection
  • Autorelease pools
  • Exceptions
  • Assertions
  • Errors
  • Threads
Property lists and Key-Value pair coding idioms Graphical User Interface Programming
  • Application Class and the App Delegate
    • Window server and the main event loop
    • Managing the main windows and key window status
    • Methods implemented by the delegate
    • Application configuration
  • Windows and Panels
    • Writing code to create and manage windows
    • Windows delegate methods
    • File panel
    • Colour chooser
  • Menus and Submenus
    • Creating and modifying
    • Adding and removing menu items dynamically
  • Views and Responders
    • Handling mouse and keyboard events
    • Drawing to the screen
    • View hierarchies
    • Implementing custom drawing functionality
  • Animation
    • The core animation layers
    • Layer backed views
    • Custom animation
  • Controls and cells
    • Action methods and the target-action idiom
    • Grid layout of buttons and text fields
String - object conversion -- Formatters
  • Built in formatter classes
  • Creating custom formatter classes
Understanding Object Oriented Patterns
  • Model View Controller (MVC)pattern
  • Collection patterns
  • Delegation pattern
  • Provider - Subscriber pattern
  • Subject - Observer pattern
  • Composite pattern
  • Visitor pattern
  • Lazy initialisation pattern
  • Factory pattern
  • Singleton pattern
Cocoa Framework - In Depth
  • Cocoa Bindings
    • Model-view synchronisation
    • The Key-Value observing protocol
    • NSController hierarchy
    • NSEditor hierarchy
    • Customising binding behaviour
  • Data persistence and Object-Relational Mappings
    • Data modelling
    • Persistence stores
  • Text Handling
    • Rich text format
    • Cutting, copying, pasting
  • Data sources and Table Views
  • Interface Builder
    • .nib and .xib files
    • Archiving and unarchiving of objects
    • File ownership
    • Outlets and actions
    • NSBundle
    • Dynamic loading of .nib files
  • Storage and retrieval of user settings
    • Application preferences
Project Level Issues and Topics
  • Designing with nil
  • Runtime
  • Packages and bundles
  • Process defaults
  • Bundle structure(applications, frameworks, plugins, documents
  • Version control - SVN
  • Building and debugging
  • Performance analysis
  • Class modelling and Model Driven Architecture (MDA)
  • Unit testing
  • Customising XCode

Cocoa Programming

£ 1,750 + VAT