FoundationKit

726 views

Published on

http://wawworld.me

changhoonpark@gmail.com

Published in: Education, Technology, Design
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
726
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

FoundationKit

  1. 1. Objective-C Foundation Kit(1) By Changhoon Park Objective-C http://www.wawworld.me Last Update : 2011. 08. 2811년 10월 12일 수요일
  2. 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.me11년 10월 12일 수요일
  3. 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.me11년 10월 12일 수요일
  4. 4. 기하학 관련 타입 typedef struct _NSPoint { float x; float y; } NSPoint; NSMakePoint() Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSPoint 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  5. 5. 기하학 관련 타입 typedef struct _NSSize { float width; float height; } NSSize; NSMakeSize() Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSSize 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  6. 6. 기하학 관련 타입 typedef struct _NSRect { ! NSPoint origin; ! NSSize size; } NSRect; NSMakeRect() Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSRect 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  7. 7. 문자열 만들기 클래스 메소드 (Class Method) + (id) stringWithFormat: (NSString*) format, ...; 팩토리 메소드 (Factory Method) 새 객체를 만들기 위해 사용되는 클래스 메소드 Foundation Kit 유용한 타입 문차열 처리 클래스 클래스 메소드 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  8. 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.me11년 10월 12일 수요일
  9. 9. 인스턴스 메소드 (Instance Method) - (unsigned int) length; Foundation Kit 유용한 타입 문차열 처리 클래스 크기 문제 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  10. 10. 사용 예 unsigned int length = [ height length ] if ( [ height length ] > 35 ) { ! NSLog(@"wow, youre really tall!"); } Foundation Kit 유용한 타입 문차열 처리 클래스 크기 문제 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  11. 11. 리시버(메시지를 전달받는 객체)와 인수로 전달된 문자열 비교 - (BOOL) isEqualToString: (NSString*)aString; YES 또는 NO 값 반환 Foundation Kit 유용한 타입 문차열 처리 클래스 비교 정책 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  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.me11년 10월 12일 수요일
  13. 13. - (NSComparisonResult) compare: (NSString*) string; typedef enum _NSComparisonResult { NSOrderedAscending = -1, NSOrderedSame, NSOrderedDescending } NSComparisonResult; Foundation Kit 유용한 타입 문차열 처리 클래스 비교 정책 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  14. 14. 사용 예 [@"zoinks" compare: @"jinkies"] NSOrderedDescending [@"fnord" compare: @"fnord"] NSOrderedSame Foundation Kit 유용한 타입 문차열 처리 클래스 비교 정책 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  15. 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.me11년 10월 12일 수요일
  16. 16. - ( BOOL ) hasPrefix: (NSString *) string; - ( BOOL ) hasSuffix: (NSString *) string; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 포함 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  17. 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.me11년 10월 12일 수요일
  18. 18. 사용 예 NSString NSMutableString 내용의 변경 불가능 (immutable) 내용의 변경 가능 (mutable) 글자 찾기 및 비교 등 가능 글자 제거 및 추가 가능 NSString의 서브클래스 Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  19. 19. 생성 및 예제 + ( id ) stringWithCapacity: (unsigned)capacity; NSMutableString *string; string = [NSMutableString stringWithCapacity: 42]; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  20. 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.me11년 10월 12일 수요일
  21. 21. 문자열 제거 - ( void ) deleteCharactersInRange: (NSRange)range; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  22. 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.me11년 10월 12일 수요일
  23. 23. 문자열 생성 + ( id ) stringWithFormat: (NSString *) format, ....; NSString *string; string = [ NSString stringWithFormat:@"jo%dy", 2]; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  24. 24. 문자열 생성 + ( id ) stringWithFormat: (NSString *) format, ....; NSString *string; string = [ NSString stringWithFormat:@"jo%dy", 2]; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  25. 25. 순서를 가지는 객체를 담는 클래스 ( 배열 ) C의 기본타입은 담을 수 없음 ( int, float, enum, struct, pointer, ..) nill ( 0, NULL 값)을 저장할 수 없음 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSArray 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  26. 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.me11년 10월 12일 수요일
  27. 27. 자주 사용하는 함수 현재 배열에 들어있는 객체의 수를 반환 - (unsigned) count; - (id)ObjectAtIndex:(unsigned int) index; index 에 있는 객체를 반환 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSArray 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  28. 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.me11년 10월 12일 수요일
  29. 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.me11년 10월 12일 수요일
  30. 30. +(id) arrayWithCapacity: (unsigned) numItems; -(void) addObject: (id) anObject; -(void) removeObjectAtIndex: (unsigned) index; Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSMutableArray 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  31. 31. 필요 index를 잘못 사용하면 Range Exception 발생 enumerator를사용하면순차적으로각원소를추출할수있음 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 Enumeration 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  32. 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.me11년 10월 12일 수요일
  33. 33. 사용 예 키워드와 그 정의의 모음 주어진 key (보통 NSString 객체)에 대한 값 (임의의객체)을 저장  많은 데이터에 저장할 경우 NSArray를 사용해서 순차검색 하는 것 보 다 수백 배 더  빠를수 있음  Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSDictionary 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  34. 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.me11년 10월 12일 수요일
  35. 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.me11년 10월 12일 수요일
  36. 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.me11년 10월 12일 수요일

×