Book Image

Mac Application Development by Example: Beginner's Guide

By : Robert Wiebe
Book Image

Mac Application Development by Example: Beginner's Guide

By: Robert Wiebe

Overview of this book

It's never been more important to have the ability to develop an App for Mac OS X. Whether it's a System Preference, a business app that accesses information in the Cloud, or an application that uses multi-touch or uses a camera, you will have a solid foundation in app development to get the job done.Mac Application Development by Example takes you through all the aspects of using the Xcode development tool to produce complete working apps that cover a broad range of topics. This comprehensive book on developing applications covers everything a beginner needs to know and demonstrates the concepts using examples that take advantage of some of the most interesting hardware and software features available.You will discover the fundamental aspects of OS X development while investigating innovative platform features to create a final product which take advantage of the unique aspects of OS X.Learn how to use Xcode tools to create and share Mac OS X apps. Explore numerous OS X features including iCloud, multi-touch trackpad, and the iSight camera.This book provides you with an illustrated and annotated guide to bring your idea to life using fundamental concepts that work on Mac.
Table of Contents (17 chapters)
Mac Application Development by Example Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Time for action – implement the SimpleCalc behavior


The following steps will help us implement the SimpleCalc behavior:

  1. Open the SimpleCalc project in Xcode.

  2. Click on the item named BTSAppDelegate.m and add an implementation for the myButtonAction: method. The code that we need to add is as follows:

    /*
     Create the App implementation for the buttons
     */
    
    - (IBAction)myButtonAction:(id)a_sender;
    {
        // For now, just beep
        // Comment out the beep, we don't need it
        // NSBeep();
        
        // Get the button title (+, -, x, or ÷) to
        // determine which operation the App will
        // preform
        NSString *l_operation = [a_sender title];
        
        // Get a double precision number from the
        // first text field
        double l_value1 = [mValue1 doubleValue];
        
        // Get a double precision number from the 
        // second text field
        double l_value2 = [mValue2 doubleValue];
        
        // Create a double precision variable to
        // hold the result of l_value1 <op> l_value2
        double l_result;
        
        // If the operation was addition, then
        // add the two values
        if ([@"+" isEqual: l_operation])
        {
            l_result = l_value1 + l_value2;
        }
        // If the operation was subtraction, then
        // subtract the two values
        else if ([@"-" isEqual: l_operation])
        {
            l_result = l_value1 - l_value2;        
        }
        // If the operation was multiplication, then
        // multiply the two values
        else if ([@"x" isEqual: l_operation])
        {
            l_result = l_value1 * l_value2;        
        }
        // The operation must have been division, so
        // divide the first value by the second value
        else
        {
            l_result = l_value1 / l_value2;        
        }
    
        // Set the result text field to the result
        [mResult setDoubleValue:l_result];
        
    }

    Tip

    Downloading the example code

    You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com . If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

What just happened?

We created and implemented the behavior for our SimpleCalc App (including removing the beep). Now when we run SimpleCalc we can enter two numbers and press one of the operation buttons to see the result as shown in the following screenshot: