Training Cocoa Programming – 5 days

Class overview :

The emphasis on this course is on programming. The course commences with a detailed overivew of Objective-C 2.0 and the Foundation Framework. The early GUI examples are developed programmatically, outside of Interface Builder so as to provide a feel for the framework and its constituent parts, and an understanding of serialisation.

Class goals :

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 interface widgets such as buttons, text fields, sliders and scoll bars
  • Kanipulate table views
  • Persist (save) application state and user data
  • Connect to interface objects both by using Interface Builder and by direct programming

Content of Cocoa Programming

Basic Concepts of Object-Oriented Analysis and Design

Overview of the Cocoa framework architecture

Mastering the XCode IDE (Integrated Development Environment)

  • creating and building projects
  • running and debugging applications
  • working with the class and documentation browsers

Intensive overview of ObjectiveC

  • dynamic typing
  • dynamic binding
  • dynamic loading

The Runtime System

  • dynamic method lookup
  • resolution of unmatched selectors
  • message forwarding

Dynamic Properties

  • use of @property to declare accessor methods
  • use of @synthesize to synthesize accessor methods

Categories and Protocols

Foundation Framework

  • delegation
  • key-value coding
  • mutable subclasses

Files and URLs

  • storage and retrieval of filesystems and web data

Memory Management

  • reference counting
  • garbage collection
  • autorelease pools

Property lists and Key-Value pair coding idioms

Application Class and the App Delegate

  • window server and the main event loop
  • managing main window and key window status
  • methods implemented by the delegate
  • application configuration

Windows and Panels

  • Writing code to create and manage windows
  • window delegate methods

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 targe-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 pattern
  • Composite pattern
  • Visitor pattern

Cocoa bindings

  • model-view synchronisation
  • the key-value observing protocol
  • NSController hierarchy
  • NSEditor hierarchy
  • customising binding behaviour

Data persistence and object-relational mappings

  • data modeling
  • persistence stores

Text handling

  • rich text formats
  • 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

Cocoa Programming
Training Cocoa Programming

Onze voordelen :

  • Type of training: Inter-company, intra-company and individual
  • 100% flexible & personalised training : You choose the place, the dates and the training program
  • Offer request : Response within 24 hours
  • 50% discount for SME’s from Brussels-Capital Region
  • Free parking, lunch & drinks
  • Free use of our Digital Competence Centre: Manuals, courses, exercises, …
Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s