Your SlideShare is downloading. ×
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
FoundationKit
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

FoundationKit

517

Published on

http://wawworld.me …

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
517
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Objective-C Foundation Kit(1) By Changhoon Park Objective-C http://www.wawworld.me Last Update : 2011. 08. 2811년 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.me11년 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.me11년 10월 12일 수요일
  • 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. 기하학 관련 타입 typedef struct _NSSize { float width; float height; } NSSize; NSMakeSize() Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSSize 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  • 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. 문자열 만들기 클래스 메소드 (Class Method) + (id) stringWithFormat: (NSString*) format, ...; 팩토리 메소드 (Factory Method) 새 객체를 만들기 위해 사용되는 클래스 메소드 Foundation Kit 유용한 타입 문차열 처리 클래스 클래스 메소드 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 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.me11년 10월 12일 수요일
  • 9. 인스턴스 메소드 (Instance Method) - (unsigned int) length; Foundation Kit 유용한 타입 문차열 처리 클래스 크기 문제 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  • 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. 리시버(메시지를 전달받는 객체)와 인수로 전달된 문자열 비교 - (BOOL) isEqualToString: (NSString*)aString; YES 또는 NO 값 반환 Foundation Kit 유용한 타입 문차열 처리 클래스 비교 정책 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 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.me11년 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.me11년 10월 12일 수요일
  • 14. 사용 예 [@"zoinks" compare: @"jinkies"] NSOrderedDescending [@"fnord" compare: @"fnord"] NSOrderedSame Foundation Kit 유용한 타입 문차열 처리 클래스 비교 정책 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 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.me11년 10월 12일 수요일
  • 16. - ( BOOL ) hasPrefix: (NSString *) string; - ( BOOL ) hasSuffix: (NSString *) string; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 포함 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 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.me11년 10월 12일 수요일
  • 18. 사용 예 NSString NSMutableString 내용의 변경 불가능 (immutable) 내용의 변경 가능 (mutable) 글자 찾기 및 비교 등 가능 글자 제거 및 추가 가능 NSString의 서브클래스 Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 10월 12일 수요일
  • 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. 새 문자열 추가 - ( 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. 문자열 제거 - ( void ) deleteCharactersInRange: (NSRange)range; Foundation Kit 유용한 타입 문차열 처리 클래스 문자열 변경 Objective-C 컬렉션 By Changhoon Park http://www.wawworld.me11년 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.me11년 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.me11년 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.me11년 10월 12일 수요일
  • 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. 객체 생성 + (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. 자주 사용하는 함수 현재 배열에 들어있는 객체의 수를 반환 - (unsigned) count; - (id)ObjectAtIndex:(unsigned int) index; index 에 있는 객체를 반환 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSArray 컬렉션 By Changhoon Park http://www.wawworld.me11년 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.me11년 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.me11년 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.me11년 10월 12일 수요일
  • 31. 필요 index를 잘못 사용하면 Range Exception 발생 enumerator를사용하면순차적으로각원소를추출할수있음 Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 Enumeration 컬렉션 By Changhoon Park http://www.wawworld.me11년 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.me11년 10월 12일 수요일
  • 33. 사용 예 키워드와 그 정의의 모음 주어진 key (보통 NSString 객체)에 대한 값 (임의의객체)을 저장  많은 데이터에 저장할 경우 NSArray를 사용해서 순차검색 하는 것 보 다 수백 배 더  빠를수 있음  Objective-C Foundation Kit 유용한 타입 문차열 처리 클래스 NSDictionary 컬렉션 By Changhoon Park http://www.wawworld.me11년 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.me11년 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.me11년 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.me11년 10월 12일 수요일

×