SlideShare a Scribd company logo
1 of 36
Objective-C




                  Foundation Kit(1)
                  By Changhoon Park
    Objective-C
                  http://www.wawworld.me
                                           Last Update : 2011. 08. 28

11년 10월 12일 수요일
범위를 나타내는 구조체



                                      typedef struct _NSRange {
                                          unsigned int location;
                                          unsigned int length;
                                      } NSRange;



                                                  location = 17

        1            5                10          15              20        25
        O b j e t i v e - C                 i s   a    c o o l         l a n g u a g e



                                                       length = 4
             2



    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                         NSRange
                                   컬렉션
                                                                                  By Changhoon Park
                                                                                     http://www.wawworld.me



11년 10월 12일 수요일
초기화



         NSRange range;
         range.location = 17;                     NSRange range = {17, 4};
         range.length = 4;




                         NSRange range = NSMakeRange (17, 4);




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                      NSRange
                                   컬렉션
                                                                             By Changhoon Park
                                                                                http://www.wawworld.me



11년 10월 12일 수요일
기하학 관련 타입



                                        typedef struct _NSPoint {
                                           float     x;
                                           float    y;
                                        } NSPoint;




                                        NSMakePoint()




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                          NSPoint
                                   컬렉션
                                                                    By Changhoon Park
                                                                       http://www.wawworld.me



11년 10월 12일 수요일
기하학 관련 타입



                                        typedef struct _NSSize {
                                           float    width;
                                           float    height;
                                        } NSSize;




                                        NSMakeSize()




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                          NSSize
                                   컬렉션
                                                                   By Changhoon Park
                                                                      http://www.wawworld.me



11년 10월 12일 수요일
기하학 관련 타입




                                        typedef struct _NSRect {
                                        ! NSPoint      origin;
                                        ! NSSize       size;
                                        } NSRect;




                                        NSMakeRect()




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                         NSRect
                                   컬렉션
                                                                   By Changhoon Park
                                                                      http://www.wawworld.me



11년 10월 12일 수요일
문자열 만들기


                                         클래스 메소드
                                        (Class Method)




                   + (id) stringWithFormat: (NSString*) format, ...;



                                          팩토리 메소드 (Factory Method)
                                      새 객체를 만들기 위해 사용되는 클래스 메소드




                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                         클래스 메소드
    Objective-C
                                   컬렉션
                                                                       By Changhoon Park
                                                                          http://www.wawworld.me



11년 10월 12일 수요일
사용 예 및 결과



                  NSString *height;
                  height = [NSString stringWithFormat:
                        @"Your height is %d feet, %d inches", 5, 11];




                  “Your height is 5 feet, 11 inches”




                   Foundation Kit   유용한 타입
                                    문차열 처리 클래스
                                                      클래스 메소드
    Objective-C
                                    컬렉션
                                                                        By Changhoon Park
                                                                           http://www.wawworld.me



11년 10월 12일 수요일
인스턴스 메소드
                                          (Instance Method)



                               - (unsigned int) length;




                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                          크기 문제
    Objective-C
                                   컬렉션
                                                                  By Changhoon Park
                                                                     http://www.wawworld.me



11년 10월 12일 수요일
사용 예




                    unsigned int length = [ height length ]




                    if ( [ height length ] > 35 ) {
                    ! NSLog(@"wow, you're really tall!");
                    }




                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                       크기 문제
    Objective-C
                                   컬렉션
                                                               By Changhoon Park
                                                                  http://www.wawworld.me



11년 10월 12일 수요일
리시버(메시지를 전달받는 객체)와
                                                   인수로 전달된 문자열 비교



                  - (BOOL) isEqualToString: (NSString*)aString;




                                         YES 또는 NO 값 반환




                   Foundation Kit   유용한 타입
                                    문차열 처리 클래스
                                                      비교 정책
    Objective-C
                                    컬렉션
                                                                      By Changhoon Park
                                                                         http://www.wawworld.me



11년 10월 12일 수요일
사용 예



           NSString *thing1 = @"hello 5";
           NSString *thing2;

           thing2 = [NSString stringWithFormat:@"hello %d", 5];

           // 주의thing1 == thing2 는전혀다른이야기!
           if( [thing1 isEqualToString: thing2]) {
                NSLog(@"They are the same!");
           }




                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                       비교 정책
    Objective-C
                                   컬렉션
                                                               By Changhoon Park
                                                                  http://www.wawworld.me



11년 10월 12일 수요일
- (NSComparisonResult) compare: (NSString*) string;



                                   typedef enum _NSComparisonResult {
                                       NSOrderedAscending = -1,
                                       NSOrderedSame,
                                       NSOrderedDescending
                                    } NSComparisonResult;




                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                        비교 정책
    Objective-C
                                   컬렉션
                                                                        By Changhoon Park
                                                                           http://www.wawworld.me



11년 10월 12일 수요일
사용 예




                                   [@"zoinks" compare: @"jinkies"]

                                                         NSOrderedDescending




                                   [@"fnord" compare: @"fnord"]


                                                         NSOrderedSame




                  Foundation Kit    유용한 타입
                                    문차열 처리 클래스
                                                        비교 정책
    Objective-C
                                    컬렉션
                                                                          By Changhoon Park
                                                                               http://www.wawworld.me



11년 10월 12일 수요일
- ( NSRange ) rangeOfString: (NSString *)string
                                options:(NSStringCompareOptions)mask



                                   - NSCaseInsensitiveSearch : 대소문자를 무시하고
                                                               두 문자열을 비교
                                   - NSLiteralSearch : 대소문자를 구분하여 두 문자열을 비교
                                   - NSNumericSearch : 숫자문자를 숫자 그 자체로 인식
                                   ( Filename9.txt < Filename20.txt < Filename100.txt )




                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                          대소문자 비교
    Objective-C
                                   컬렉션
                                                                                          By Changhoon Park
                                                                                             http://www.wawworld.me



11년 10월 12일 수요일
- ( BOOL ) hasPrefix: (NSString *) string;

            - ( BOOL ) hasSuffix: (NSString *) string;




                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                문자열 포함
    Objective-C
                                   컬렉션
                                                         By Changhoon Park
                                                            http://www.wawworld.me



11년 10월 12일 수요일
NSString *filename = @”draft-chapter.pages”;

            if([filename hasPrefix:@”draft”]) {
            ! NSLog(@”It has draft word”);
            }

            if([filename hasSuffix:@”.mov”]) {
            ! NSLog(@”It has mov word”);
            }




                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                문자열 포함
    Objective-C
                                   컬렉션
                                                          By Changhoon Park
                                                             http://www.wawworld.me



11년 10월 12일 수요일
사용 예




                            NSString                      NSMutableString

                  내용의 변경 불가능 (immutable)                내용의 변경 가능 (mutable)
                   글자 찾기 및 비교 등 가능                       글자 제거 및 추가 가능
                                                         NSString의 서브클래스




                   Foundation Kit   유용한 타입
                                    문차열 처리 클래스
                                                    문자열 변경
    Objective-C
                                    컬렉션
                                                                              By Changhoon Park
                                                                                 http://www.wawworld.me



11년 10월 12일 수요일
생성 및 예제




                  + ( id ) stringWithCapacity: (unsigned)capacity;




                  NSMutableString *string;
                  string = [NSMutableString stringWithCapacity: 42];




                    Foundation Kit   유용한 타입
                                     문차열 처리 클래스
                                                       문자열 변경
    Objective-C
                                     컬렉션
                                                                     By Changhoon Park
                                                                        http://www.wawworld.me



11년 10월 12일 수요일
새 문자열 추가



                  - ( void ) appendString: (NSString*)string;
                   
                  - ( void ) appendFormat: (NSString *) format, ...;




                  // 문자열 길이 42까지	 
                  NSMutableString *string = [NSMutableString stringWithCapacity: 50];

                  [string appendString: @"Hello there"];     // 문자열 만듬
                  [string appendFormat: @"human %d!", 39];   // 이어서 문자열 붙임




                    Foundation Kit   유용한 타입
                                     문차열 처리 클래스
                                                       문자열 변경
    Objective-C
                                     컬렉션
                                                                                    By Changhoon Park
                                                                                        http://www.wawworld.me



11년 10월 12일 수요일
문자열 제거




                  - ( void ) deleteCharactersInRange: (NSRange)range;




                    Foundation Kit   유용한 타입
                                     문차열 처리 클래스
                                                      문자열 변경
    Objective-C
                                     컬렉션
                                                                        By Changhoon Park
                                                                           http://www.wawworld.me



11년 10월 12일 수요일
문자열 제거 예제



                  NSMutableString *friends;
                  friends = [NSMutableString stringWithCapacity: 50];
                  [friends appendString: @"James BethLynn Jack Evan"];

                  NSRange jackRange;
                  // Jack 이라는 글씨가 있는 범위 찾음
                  jackRange = [friends rangeOfString: @"Jack"];

                  jackRange.length++; // Jack 글씨 뒤에 한칸도 포함

                  // Jack이 있는 범위 삭제!
                  [friends deleteCharactersInRange: jackRange];




                   Foundation Kit   유용한 타입
                                    문차열 처리 클래스
                                                       문자열 변경
    Objective-C
                                    컬렉션
                                                                         By Changhoon Park
                                                                            http://www.wawworld.me



11년 10월 12일 수요일
문자열 생성




                  + ( id ) stringWithFormat: (NSString *) format, ....;




                  NSString *string;
                  string = [ NSString stringWithFormat:@"jo%dy", 2];




                    Foundation Kit   유용한 타입
                                     문차열 처리 클래스
                                                      문자열 변경
    Objective-C
                                     컬렉션
                                                                          By Changhoon Park
                                                                             http://www.wawworld.me



11년 10월 12일 수요일
문자열 생성




                  + ( id ) stringWithFormat: (NSString *) format, ....;




                  NSString *string;
                  string = [ NSString stringWithFormat:@"jo%dy", 2];




                    Foundation Kit   유용한 타입
                                     문차열 처리 클래스
                                                      문자열 변경
    Objective-C
                                     컬렉션
                                                                          By Changhoon Park
                                                                             http://www.wawworld.me



11년 10월 12일 수요일
순서를 가지는 객체를 담는 클래스 ( 배열 )




                   C의 기본타입은 담을 수 없음 ( int, float, enum, struct, pointer, ..)

                                       nill ( 0, NULL 값)을 저장할 수 없음




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                         NSArray
                                   컬렉션
                                                                              By Changhoon Park
                                                                                 http://www.wawworld.me



11년 10월 12일 수요일
객체 생성



                              + (id)arrayWithObject:(id)anObject;




                  NSArray *array;
                  array = [NSArray arrayWithObjects:@"One", @"Two",
                  @"Three", @"Four", nil];


                                                     배열의 끝임을 나타냄




    Objective-C
                    Foundation Kit   유용한 타입
                                     문차열 처리 클래스
                                                          NSArray
                                     컬렉션
                                                                    By Changhoon Park
                                                                       http://www.wawworld.me



11년 10월 12일 수요일
자주 사용하는 함수



                                                   현재 배열에 들어있는 객체의
                                                        수를 반환

           - (unsigned) count;

           - (id)ObjectAtIndex:(unsigned int) index;



                                         index 에 있는 객체를 반환




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                        NSArray
                                   컬렉션
                                                                     By Changhoon Park
                                                                        http://www.wawworld.me



11년 10월 12일 수요일
사용 예




              int i;
              for(i=0; i < [array count]; i++ ) {
                  NSLog(@”index %d has %@.”,
                                 i, [array objectAtIndex: i]);
              }




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                       NSArray
                                   컬렉션
                                                                 By Changhoon Park
                                                                    http://www.wawworld.me



11년 10월 12일 수요일
사용 예



              int i;
              for(i=0; i < [array count]; i++ ) {
                  NSLog(@”index %d has %@.”,
                                 i, [array objectAtIndex: i]);
              }




              [array objectAtIndex:208000];




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                       NSArray
                                   컬렉션
                                                                 By Changhoon Park
                                                                    http://www.wawworld.me



11년 10월 12일 수요일
+(id) arrayWithCapacity: (unsigned) numItems;

           -(void) addObject: (id) anObject;

           -(void) removeObjectAtIndex: (unsigned) index;




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                NSMutableArray
                                   컬렉션
                                                                 By Changhoon Park
                                                                    http://www.wawworld.me



11년 10월 12일 수요일
필요




                                   index를 잘못 사용하면 Range Exception 발생

                        enumerator를사용하면순차적으로각원소를추출할수있음




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                      Enumeration
                                   컬렉션
                                                                       By Changhoon Park
                                                                          http://www.wawworld.me



11년 10월 12일 수요일
사용 예




           NSEnumerator *enumerator; 
           enumerator = [array objectEnumerator]; 

           while( thingie = [enumerator nextObject] ) { 
             NSLog(@"I found%@", thingie); 
           } 




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                   Enumeration
                                   컬렉션
                                                                 By Changhoon Park
                                                                    http://www.wawworld.me



11년 10월 12일 수요일
사용 예




                                키워드와 그 정의의 모음
                   주어진 key (보통 NSString 객체)에 대한 값 (임의의객체)을 저장 
                  많은 데이터에 저장할 경우 NSArray를 사용해서 순차검색 하는 것 보
                                다 수백 배 더  빠를수 있음 




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                   NSDictionary
                                   컬렉션
                                                                  By Changhoon Park
                                                                     http://www.wawworld.me



11년 10월 12일 수요일
사용 예


           Tire    *t1     =       [Tire   new];
           Tire    *t2     =       [Tire   new];
           Tire    *t3     =       [Tire   new];
           Tire    *t4     =       [Tire   new];

           NSDictionary*tires;
           tires = [NSDictionary dictionaryWithObjectsAndKeys:
           ! !   t1 @”front-left” t2 “front-right”
           ! !   t3, @”back-left”, t4, @”back-rignt”, nil];


           Tire *tire = [tires objectForKey: @”back-right”];




    Objective-C
                  Foundation Kit    유용한 타입
                                    문차열 처리 클래스
                                                      NSDictionary
                                    컬렉션
                                                                     By Changhoon Park
                                                                        http://www.wawworld.me



11년 10월 12일 수요일
사용 예


           NSMutableDictionary*tires;
           tires = [NSMutableDictionarydictionary];
           // 혹은 +(id) dictionaryWithCapacity: (unsigned
           int)numItems
           [tires setObject: t1     forKey: @”front-left”];
           [tires setObject: t2     forKey:@”front-right”];
           [tires setObject: t3     forKey: @”back-left”];
           [tires setObject: t4     forKey: @”back-right”];
           …
           [tires removeObjectForKey: @”back_left”];




    Objective-C
                  Foundation Kit   유용한 타입
                                   문차열 처리 클래스
                                                NSMutableDictionary
                                   컬렉션
                                                                      By Changhoon Park
                                                                         http://www.wawworld.me



11년 10월 12일 수요일
파일찾기



                  1. 08-01 FileWalker 참고 - 홈 디렉터리에서 .jpg 파일을 찾고 목록을
                  출력하는 프로그램
                  2. NSString, NSArray, NSEnumerator / NSFileManager,
                  NSDictionaryEnumerator 사용
                  3. p185를 참고하여 빠른 이너머레이션으로 수정해볼 것
                  4. 수정한 부분과 스샷을 아지트에 올리기




                   Foundation Kit   유용한 타입
                                    문차열 처리 클래스
                                                        실습
    Objective-C
                                    컬렉션
                                                                        By Changhoon Park
                                                                           http://www.wawworld.me



11년 10월 12일 수요일

More Related Content

More from Hoseo University

More from Hoseo University (8)

목적이 부여된 에이전트 행동
목적이 부여된 에이전트 행동목적이 부여된 에이전트 행동
목적이 부여된 에이전트 행동
 
실질적인 길 계획하기
실질적인 길 계획하기실질적인 길 계획하기
실질적인 길 계획하기
 
Raven
RavenRaven
Raven
 
프로젝트 구성
프로젝트 구성프로젝트 구성
프로젝트 구성
 
구성(Composition)
구성(Composition)구성(Composition)
구성(Composition)
 
Objective-C에서의 OOP
Objective-C에서의 OOPObjective-C에서의 OOP
Objective-C에서의 OOP
 
Dt2210.01.syllabus
Dt2210.01.syllabusDt2210.01.syllabus
Dt2210.01.syllabus
 
Dt3160.01
Dt3160.01Dt3160.01
Dt3160.01
 

FoundationKit

  • 1. Objective-C Foundation Kit(1) By Changhoon Park Objective-C http://www.wawworld.me Last Update : 2011. 08. 28 11년 10월 12일 수요일
  • 2. 범위를 나타내는 구조체 typedef struct _NSRange { unsigned int location; unsigned int length; } NSRange; location = 17 1 5 10 15 20 25 O b j e t i v e - C i s a c o o l l a n g u a g e length = 4 2 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSRange 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 3. 초기화 NSRange range; range.location = 17; NSRange range = {17, 4}; range.length = 4; NSRange range = NSMakeRange (17, 4); Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSRange 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 4. 기하학 관련 타입 typedef struct _NSPoint { float x; float y; } NSPoint; NSMakePoint() Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSPoint 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 5. 기하학 관련 타입 typedef struct _NSSize { float width; float height; } NSSize; NSMakeSize() Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSSize 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 6. 기하학 관련 타입 typedef struct _NSRect { ! NSPoint origin; ! NSSize size; } NSRect; NSMakeRect() Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSRect 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 7. 문자열 만들기 클래스 메소드 (Class Method) + (id) stringWithFormat: (NSString*) format, ...; 팩토리 메소드 (Factory Method) 새 객체를 만들기 위해 사용되는 클래스 메소드 Foundation Kit 유용한 타입 문차열 처리 클래스 클래스 메소드 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 8. 사용 예 및 결과 NSString *height; height = [NSString stringWithFormat: @"Your height is %d feet, %d inches", 5, 11]; “Your height is 5 feet, 11 inches” Foundation Kit 유용한 타입 문차열 처리 클래스 클래스 메소드 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 9. 인스턴스 메소드 (Instance Method) - (unsigned int) length; Foundation Kit 유용한 타입 문차열 처리 클래스 크기 문제 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 10. 사용 예 unsigned int length = [ height length ] if ( [ height length ] > 35 ) { ! NSLog(@"wow, you're really tall!"); } Foundation Kit 유용한 타입 문차열 처리 클래스 크기 문제 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 11. 리시버(메시지를 전달받는 객체)와 인수로 전달된 문자열 비교 - (BOOL) isEqualToString: (NSString*)aString; YES 또는 NO 값 반환 Foundation Kit 유용한 타입 문차열 처리 클래스 비교 정책 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 12. 사용 예 NSString *thing1 = @"hello 5"; NSString *thing2; thing2 = [NSString stringWithFormat:@"hello %d", 5]; // 주의thing1 == thing2 는전혀다른이야기! if( [thing1 isEqualToString: thing2]) { NSLog(@"They are the same!"); } Foundation Kit 유용한 타입 문차열 처리 클래스 비교 정책 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 13. - (NSComparisonResult) compare: (NSString*) string; typedef enum _NSComparisonResult { NSOrderedAscending = -1, NSOrderedSame, NSOrderedDescending } NSComparisonResult; Foundation Kit 유용한 타입 문차열 처리 클래스 비교 정책 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 14. 사용 예 [@"zoinks" compare: @"jinkies"] NSOrderedDescending [@"fnord" compare: @"fnord"] NSOrderedSame Foundation Kit 유용한 타입 문차열 처리 클래스 비교 정책 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 15. - ( NSRange ) rangeOfString: (NSString *)string options:(NSStringCompareOptions)mask - NSCaseInsensitiveSearch : 대소문자를 무시하고 두 문자열을 비교 - NSLiteralSearch : 대소문자를 구분하여 두 문자열을 비교 - NSNumericSearch : 숫자문자를 숫자 그 자체로 인식 ( Filename9.txt < Filename20.txt < Filename100.txt ) Foundation Kit 유용한 타입 문차열 처리 클래스 대소문자 비교 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 16. - ( BOOL ) hasPrefix: (NSString *) string; - ( BOOL ) hasSuffix: (NSString *) string; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 포함 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 17. NSString *filename = @”draft-chapter.pages”; if([filename hasPrefix:@”draft”]) { ! NSLog(@”It has draft word”); } if([filename hasSuffix:@”.mov”]) { ! NSLog(@”It has mov word”); } Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 포함 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 18. 사용 예 NSString NSMutableString 내용의 변경 불가능 (immutable) 내용의 변경 가능 (mutable) 글자 찾기 및 비교 등 가능 글자 제거 및 추가 가능 NSString의 서브클래스 Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 19. 생성 및 예제 + ( id ) stringWithCapacity: (unsigned)capacity; NSMutableString *string; string = [NSMutableString stringWithCapacity: 42]; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 20. 새 문자열 추가 - ( void ) appendString: (NSString*)string;   - ( void ) appendFormat: (NSString *) format, ...; // 문자열 길이 42까지 NSMutableString *string = [NSMutableString stringWithCapacity: 50]; [string appendString: @"Hello there"]; // 문자열 만듬 [string appendFormat: @"human %d!", 39]; // 이어서 문자열 붙임 Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 21. 문자열 제거 - ( void ) deleteCharactersInRange: (NSRange)range; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 22. 문자열 제거 예제 NSMutableString *friends; friends = [NSMutableString stringWithCapacity: 50]; [friends appendString: @"James BethLynn Jack Evan"]; NSRange jackRange; // Jack 이라는 글씨가 있는 범위 찾음 jackRange = [friends rangeOfString: @"Jack"]; jackRange.length++; // Jack 글씨 뒤에 한칸도 포함 // Jack이 있는 범위 삭제! [friends deleteCharactersInRange: jackRange]; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 23. 문자열 생성 + ( id ) stringWithFormat: (NSString *) format, ....; NSString *string; string = [ NSString stringWithFormat:@"jo%dy", 2]; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 24. 문자열 생성 + ( id ) stringWithFormat: (NSString *) format, ....; NSString *string; string = [ NSString stringWithFormat:@"jo%dy", 2]; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 25. 순서를 가지는 객체를 담는 클래스 ( 배열 ) C의 기본타입은 담을 수 없음 ( int, float, enum, struct, pointer, ..) nill ( 0, NULL 값)을 저장할 수 없음 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSArray 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 26. 객체 생성 + (id)arrayWithObject:(id)anObject; NSArray *array; array = [NSArray arrayWithObjects:@"One", @"Two", @"Three", @"Four", nil]; 배열의 끝임을 나타냄 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSArray 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 27. 자주 사용하는 함수 현재 배열에 들어있는 객체의 수를 반환 - (unsigned) count; - (id)ObjectAtIndex:(unsigned int) index; index 에 있는 객체를 반환 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSArray 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 28. 사용 예 int i; for(i=0; i < [array count]; i++ ) { NSLog(@”index %d has %@.”, i, [array objectAtIndex: i]); } Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSArray 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 29. 사용 예 int i; for(i=0; i < [array count]; i++ ) { NSLog(@”index %d has %@.”, i, [array objectAtIndex: i]); } [array objectAtIndex:208000]; Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSArray 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 30. +(id) arrayWithCapacity: (unsigned) numItems; -(void) addObject: (id) anObject; -(void) removeObjectAtIndex: (unsigned) index; Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSMutableArray 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 31. 필요 index를 잘못 사용하면 Range Exception 발생 enumerator를사용하면순차적으로각원소를추출할수있음 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 Enumeration 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 32. 사용 예 NSEnumerator *enumerator;  enumerator = [array objectEnumerator];  while( thingie = [enumerator nextObject] ) {    NSLog(@"I found%@", thingie);  }  Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 Enumeration 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 33. 사용 예 키워드와 그 정의의 모음 주어진 key (보통 NSString 객체)에 대한 값 (임의의객체)을 저장  많은 데이터에 저장할 경우 NSArray를 사용해서 순차검색 하는 것 보 다 수백 배 더  빠를수 있음  Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSDictionary 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 34. 사용 예 Tire *t1 = [Tire new]; Tire *t2 = [Tire new]; Tire *t3 = [Tire new]; Tire *t4 = [Tire new]; NSDictionary*tires; tires = [NSDictionary dictionaryWithObjectsAndKeys: ! ! t1 @”front-left” t2 “front-right” ! ! t3, @”back-left”, t4, @”back-rignt”, nil]; Tire *tire = [tires objectForKey: @”back-right”]; Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSDictionary 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 35. 사용 예 NSMutableDictionary*tires; tires = [NSMutableDictionarydictionary]; // 혹은 +(id) dictionaryWithCapacity: (unsigned int)numItems [tires setObject: t1 forKey: @”front-left”]; [tires setObject: t2 forKey:@”front-right”]; [tires setObject: t3 forKey: @”back-left”]; [tires setObject: t4 forKey: @”back-right”]; … [tires removeObjectForKey: @”back_left”]; Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSMutableDictionary 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일
  • 36. 파일찾기 1. 08-01 FileWalker 참고 - 홈 디렉터리에서 .jpg 파일을 찾고 목록을 출력하는 프로그램 2. NSString, NSArray, NSEnumerator / NSFileManager, NSDictionaryEnumerator 사용 3. p185를 참고하여 빠른 이너머레이션으로 수정해볼 것 4. 수정한 부분과 스샷을 아지트에 올리기 Foundation Kit 유용한 타입 문차열 처리 클래스 실습 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me 11년 10월 12일 수요일