본문 바로가기
2012.08.22 22:08

테스트 코드 작성

조회 수 4066 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

http://mobile.tutsplus.com/tutorials/iphone/learn-objective-c-day-4/


########################

# 헤더파일: SimpleCar.h

########################


  1. #import <Cocoa/Cocoa.h>  

  2. @interface SimpleCar : NSObject {  
  3.     NSString* make;  
  4.     NSString* model;  
  5.     NSNumber* vin;  
  6. }  
  7.   
  8. // set methods  
  9. - (void) setVin:   (NSNumber*)newVin;  
  10. - (void) setMake:  (NSString*)newMake;  
  11. - (void) setModel: (NSString*)setModel;  
  12.   
  13. // convenience method  
  14. - (void) setMake: (NSString*)newMake   
  15.         andModel: (NSString*)newModel;  
  16.   

  1. // get methods  
  2. - (NSString*) make;  
  3. - (NSString*) model;  
  4. - (NSNumber*) vin;  

  5. @end  

########################
# Implementation 파일
########################

//
//  SimpleCar.m
//  CarClassTest
//
//

#import "SimpleCar.h"

@implementation SimpleCar

// set methods
- (void) setVin: (NSNumber*)newVin{
[vin release];
vin = [[NSNumber alloc] init];
    vin = newVin;
}

- (void) setMake: (NSString*)newMake{
[make release];
make = [[NSString alloc] initWithString:newMake];
}

- (void) setModel: (NSString*)newModel{

[model release];
model = [[NSString alloc] initWithString:newModel];

}

// convenience method
- (void) setMake: (NSString*)newMake 
andModel: (NSString*)newModel{
// Reuse our code from earlier
[self setMake:newMake];
[self setModel:newModel];
}

// get methods
- (NSString*) make{
return make;
}

- (NSString*) model{
    return model;
}

- (NSNumber*) vin{
    return vin;
}

// 객체를 메모리에서 release
-(void) dealloc  
{  
    [vin release];  
    [make release];  
    [model release];  
    [super dealloc];  
}  

@end


######################
# main
######################

#import <Foundation/Foundation.h>
#import "SimpleCar.h"

int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
    SimpleCar *myCar = [[SimpleCar alloc] init];
    NSNumber *newVin = [NSNumber numberWithInt:123];
    [myCar setVin:newVin];
    [myCar setMake:@"Honda" andModel:@"Civic"];
    NSLog(@"The car is: %@ %@", [myCar make], [myCar model]);
    NSLog(@"The vin is: %d", [myCar vin]);
    [myCar release];
[pool drain];
return 0;
}

---------------------------------------------------------------------------

Property and Synthesize

  1. #import <cocoa cocoa.h="">  
  2.   
  3. @interface SimpleCar : NSObject {  
  4.     NSString* make;  
  5.     NSString* model;  
  6.     NSNumber* vin;  
  7. }  
  8.   
  9. @property(readwrite, retain) NSString* make;  <-------- set/get 메소드 자동생성
  10. @property(readwrite, retain) NSString* model;  
  11. @property(readwrite, retain) NSNumber* vin;  
  12.   
  13. // convenience method  
  14. - (void) setMake: (NSString*)newMake   
  15.         andModel: (NSString*)newModel;  
  16.   
  17. @end  
  18. </cocoa>  


  1. #import "SimpleCar.h"  
  2.   
  3. @implementation SimpleCar  
  4.   
  5. @synthesize make, model, vin;  
  6.   
  7. - (void) setMake: (NSString*)newMake   
  8.         andModel: (NSString*)newModel {  
  9.       
  10.     [self setMake:newMake];  
  11.     [self setModel:newModel];  
  12.   
  13. }  
  14.   
  15. @end  



List of Articles
번호 제목 글쓴이 날짜 조회 수
21 Cocoa Programming 정리 08 - NSArrayController file Hojung 2013.02.25 5929
20 Cocoa Programming 정리 07 - Key-Value Coding 과 Key-Value Observing file Hojung 2013.02.20 5119
19 Cocoa Programming 정리 06 - 헬퍼 객체 file Hojung 2013.02.19 7503
18 Cocoa Programming 정리 05 - 타겟(Target)과 액션(Action) file Hojung 2013.02.14 6415
17 Cocoa Programming 정리 04 - 메모리 관리 file Hojung 2013.02.13 6311
16 Cocoa Programming 정리 03 - Objective-C file Hojung 2013.02.08 6078
15 Cocoa Programming 정리 02 - 시작하기 file Hojung 2013.02.05 8629
14 Cocoa Programming 정리 01 - Cocoa란? Hojung 2013.02.05 4811
13 객체 변수 선언시 @private 사용 Hojung 2012.09.18 4317
» 테스트 코드 작성 Hojung 2012.08.22 4066
11 NSString 객체의 생성과 변환 Hojung 2012.08.22 5116
10 클래스 프로퍼티 설정 Hojung 2012.08.22 4099
9 클래스와 객체 - 1 Hojung 2012.08.22 4190
8 Interface and Implementation Hojung 2012.08.22 3860
7 Extends vs Implements의 개념과 차이점 - 2 Hojung 2012.08.22 4276
6 Extends vs Implements의 개념과 차이점 - 1 Hojung 2012.08.22 4896
5 포인터 Hojung 2012.08.22 4161
4 조건문 및 순환문 Hojung 2012.08.22 4331
3 변수형 및 객체형 Hojung 2012.08.22 4319
2 hello world Hojung 2012.08.22 4135
Board Pagination ‹ Prev 1 2 Next ›
/ 2

Designed by sketchbooks.co.kr / sketchbook5 board skin

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5