------------------------------------------------------//
// Converter.h
// Currency Converter
//
// Created by Hoony Yoo on 09. 06. 22.
// Copyright 2009 __MyCompanyName__. All rights reserved.
//
// 실제 대부분이 이미 만들어져 있는 상태.
#import <Cocoa/Cocoa.h>
C 에서의 include 문과 동일한 구문, cocoa 에서도 include 를 사용할수 있다고 한다. 다만, include 대신 import 를 사용했을 경우 중복의 신경을 않쓸수 있다는 장점이 있다고 한다.
//@interface Converter : NSObject {
@는 예약어, 클래스 선언시 @interface ~ @end,
구현부분은 @implemantation ~@end 사이에 위치한다.
cocoa에서 가장?? 중요한 객체중하나인 NSObject. Foundation 에 속한다.
입력시 받아들일 두 값을 변수 선언한다
float sourceCurrencyAmount;
float rate;
}
클래스의 인스턴스 속성을 간단히 정의한다.
@property(속성) 타입 변수;
속성은 readwrite, copy
@property(readwrite) float sourceCurrencyAmount,rate;
이렇게 속성선언한부분은 구현부에서 다시 정의해주어야 한다.
float타입의 메소드 선언. -의 경우 인스턴스 메소드, +의 경우 클래스 메소드가 된다.
- (float)convertCurrency;
@end
-------------------------------------------------------------------------
--------------------------------------------------------------------#import "ConverterController.h"
#import "Converter.h"
만들어놓은 헤더파일들을 임폴트 시킨다. Converter.h는 위의 메소드 선언등을 담은 파일이고, ConverterController.h 는 뒤에 설명하겠지만, 컨트롤러부분
@implementation 구문은, 실 구현부분이다.
- 이므로, 인스턴스 메소드
반환탄입은 IBAction, : 이후는 인자를 뜻한다.
@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
--------------------------------------------------------------------