cocoa application tutorial

76
%QEQC #RRNKECVKQP 6WVQTKCN )GPGTCN

Upload: julie-mcrae

Post on 05-Mar-2015

69 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Cocoa Application Tutorial
Page 2: Cocoa Application Tutorial
Page 3: Cocoa Application Tutorial
Page 4: Cocoa Application Tutorial
Page 5: Cocoa Application Tutorial
Page 6: Cocoa Application Tutorial
Page 7: Cocoa Application Tutorial

Converter.hconvertCurrency Converter.m

nextKeyViewinitialFirstResponder

ConverterController

ConverterController rateField

convert: ConverterController.m

Page 8: Cocoa Application Tutorial

c_conv512.png

Page 9: Cocoa Application Tutorial

!

!

!

!

!

!

!

!

!

!

!

Page 10: Cocoa Application Tutorial

!

ObjCTutorial_companion.zip

!

!

!

!

Page 11: Cocoa Application Tutorial
Page 12: Cocoa Application Tutorial
Page 13: Cocoa Application Tutorial

convertCurrency

Page 14: Cocoa Application Tutorial
Page 15: Cocoa Application Tutorial

/Developer/Applications

Page 16: Cocoa Application Tutorial
Page 17: Cocoa Application Tutorial

!

! main.m mainCurrency Converter_Prefix.pch

!

!

!

Page 18: Cocoa Application Tutorial

!

!

!

Currency Converter.xcodeproj

main.mmain

English.lproj

Dutch.lproj

Page 19: Cocoa Application Tutorial
Page 20: Cocoa Application Tutorial

Converter

Converter.h Converter.m

!

! float sourceCurrencyAmount rate

! (float)convertCurrency

Converter.h Converter.h

Converter.h

Converter.h

#import <Cocoa/Cocoa.h>@interface Converter : NSObject { float sourceCurrencyAmount, rate;

}

Page 21: Cocoa Application Tutorial

@property(attributes) Type variableNameList;

readwrite copy

@property(copy) NSString *name;

Converter.h@end

@property(readwrite) float sourceCurrencyAmount, rate;

- (float)sourceCurrencyAmount;- (void)setSourceCurrencyAmount:(float)newSourceCurrencyAmount;- (float)rate;- (void)setRate:(float)newRate;

Converter.h

- (float)convertCurrency;

Page 22: Cocoa Application Tutorial

Converter.h

Converter.m

sourceCurrencyAmount rate

@propertyConverter.h @synthesize @implementation

Converter.m @implementation Converter

@synthesize sourceCurrencyAmount, rate;

sourceCurrencyAmountrate Converter.h

Converter.m

convertCurrency Converter.m

#import "Converter.h"

@implementation Converter@synthesize sourceCurrencyAmount, rate;

- (float)convertCurrency {

return self.sourceCurrencyAmount * self.rate;

}

@end

convertCurrencyself.sourceCurrencyAmount

sourceCurrencyAmount self

Page 23: Cocoa Application Tutorial

!

!

!

!

Page 24: Cocoa Application Tutorial

NSWindowNSWindow

NSWindow NSWindowNSWindow

NSWindowNSApplication

NSApplicationNSWindow

NSWindow

Page 25: Cocoa Application Tutorial

MainMenu.xib

MainMenu.xib

Page 26: Cocoa Application Tutorial
Page 27: Cocoa Application Tutorial
Page 28: Cocoa Application Tutorial
Page 29: Cocoa Application Tutorial
Page 30: Cocoa Application Tutorial

Exchange Rate per $1:

Page 31: Cocoa Application Tutorial
Page 32: Cocoa Application Tutorial
Page 33: Cocoa Application Tutorial

!

!

!

Page 34: Cocoa Application Tutorial

!

!

Page 35: Cocoa Application Tutorial

nextKeyView

nextKeyView

nextKeyView

nextKeyView

nextKeyView

Page 36: Cocoa Application Tutorial

initialFirstResponder

initialFirstResponder

MainMenu.nib

initialFirstResponder

initialFirstResponder

Page 37: Cocoa Application Tutorial
Page 38: Cocoa Application Tutorial
Page 39: Cocoa Application Tutorial

IBOutlet id variableName;

Page 40: Cocoa Application Tutorial

IBOutlet

idid

IBOutlet NSButton* myButton;

null

null

NSControlNSActionCell

convertConverterController

ConverterController

Page 41: Cocoa Application Tutorial

- (IBAction)myAction:(id)sender;

IBAction IBOutlet

NSObject

!

!

delegate

Page 42: Cocoa Application Tutorial

ConverterController

ConverterController.m

ConverterControllerConverter

Converter

IBOutlet NSTextField *amountField;

IBOutlet NSTextField *dollarField;

IBOutlet NSTextField *rateField;

NSTextFieldid

ConverterController convert:convert: ConverterController

ConverterController convert:convert:

Page 43: Cocoa Application Tutorial

#import <Cocoa/Cocoa.h>

@interface ConverterController : NSObject { IBOutlet NSTextField *amountField; IBOutlet NSTextField *dollarField; IBOutlet NSTextField *rateField;}- (IBAction)convert:(id)sender;

@end

convert:

ConverterController

ConverterController

ConverterController.h

MainMenu.xib

Page 44: Cocoa Application Tutorial

ConverterControllerConverterController.h

ConverterController

Page 45: Cocoa Application Tutorial

ConverterControllerConverterController

ConverterController

Page 46: Cocoa Application Tutorial

rateField

ConverterController rateField

ConverterController dollarField amountField

ConverterController

ConverterController

convert:

Page 47: Cocoa Application Tutorial

ConverterController

ConverterController.h

Converter *converter;

convert: ConverterControllerconvert: ConverterController

convertCurrency Converter

Page 48: Cocoa Application Tutorial

Converter.h ConverterController ConverterConverterController.h

#import "Converter.h"

ConverterController.m

convert: ConverterController.m

convert: ConverterController.m

#import "ConverterController.h"@implementation ConverterController- (IBAction)convert:(id)sender {

float amount;

converter = [[Converter alloc]init];

[converter setSourceCurrencyAmount:[dollarField floatValue]];

[converter setRate:[rateField floatValue]];

amount = [converter convertCurrency];

[amountField setFloatValue:amount];

[rateField selectText:self];

}

@end

convert:

Converter rateField dollarField

convertCurrency converter

setFloatValue:amountField

selectText:

convert:

amount

convert:

Page 49: Cocoa Application Tutorial

converter = [[Converter alloc]init];

Converter

Supported

Page 50: Cocoa Application Tutorial
Page 51: Cocoa Application Tutorial

ConverterController.m

setFloatValue

[NSCell setFloatValue] NSCell.hsetFloatValue

Page 52: Cocoa Application Tutorial

!

Page 53: Cocoa Application Tutorial

!

!

!

!

!

Page 54: Cocoa Application Tutorial
Page 55: Cocoa Application Tutorial

Info.plist

Info.plist

!

CFBundleIdentifier Info.plist

Page 56: Cocoa Application Tutorial

.

com org

com.apple

AddressBook

Page 57: Cocoa Application Tutorial

!

CFBundleVersion Info.plist

55 1.2 1.2.0.55

!

Page 58: Cocoa Application Tutorial

CFBundleShortVersionStringInfo.plist

! © 2007,My Company

NSHumanReadableCopyright Info.plist

!

CFBundleName Info.plist

!

CFBundleIconFile Info.plist

ObjCTutorial_companion.zip

Currency Converter

InfoPlist.strings

Page 59: Cocoa Application Tutorial

com.mycompany.CurrencyConverter

100

1.0.0

© 2009, My Company

Info.plist

info.plist

Page 60: Cocoa Application Tutorial

NSHumanReadableCopyright Info.plistInfoPlist.strings (English)

Info.plist

InfoPlist.strings (English) Info.plist

> open -b com.mycompany.CurrencyConverter

open.app

Page 61: Cocoa Application Tutorial

CFBundleShortVersionString

CFBundleName CFBundleVersionNSHumanReadableCopyright

Page 62: Cocoa Application Tutorial

ObjCTutorial_companion.zip

/Developer/Applications/Utilities

ObjCTutorial_companion/application_icon_images

c_conv512.png

c_conv512.png

Page 63: Cocoa Application Tutorial

APPL.icns

APPL.icns

Page 64: Cocoa Application Tutorial

APPL.icns

Page 65: Cocoa Application Tutorial
Page 66: Cocoa Application Tutorial
Page 67: Cocoa Application Tutorial
Page 68: Cocoa Application Tutorial

nextKeyView

!

! NSText

!

Page 69: Cocoa Application Tutorial

!

!

!

NSBezierPath

Page 70: Cocoa Application Tutorial
Page 71: Cocoa Application Tutorial
Page 72: Cocoa Application Tutorial
Page 73: Cocoa Application Tutorial

[anObject doSomethingWithArg:this];

int result = [anObj calcTotal];

NSWindow

[[form window] makeKeyAndOrderFront:self];

nil nilnil

self superself

super

[super init];

init

Page 74: Cocoa Application Tutorial

id

id myObject;

NSString* mystring;

-

- (NSString*)countryName;

void

- (id)initWithName:(NSString*)name andType:(int)type;

@private

Page 75: Cocoa Application Tutorial

#import"Converter.h" ConverterController.h

converter

Page 76: Cocoa Application Tutorial

#import "Converter.h"