ObjectC

jjuiddong
Jjuiddong (토론 | 기여) 사용자의 2014년 2월 3일 (월) 23:15 판

(비교) ← 이전 판 | 최신판 (비교) | 다음 판 → (비교)
이동: 둘러보기, 찾기


  • sizoeof() 키워드는 ?
  • retain 메소드는 꼭 필요한가? autorelease가 제대로 동작만 한다면 retain을 왜 써야 하는가?
  • IOS5 에서 달라진점?


  • 클래스에서 변수 선언할 때, nonatomic, assign 은 무엇을 의미하나?
    • 기본적으로 atomic 타입이다. atomic 타입은 스칼라 형태의 int, float 같은 값을 가진 변수에 쓰이고, 데이타를 바로 쓰고 지우는 형태의 변수에서 쓰인다.
    • assign 은 변수를 할당할 때 레퍼런스 카운터를 이용한다. 할당 받는 변수는 레퍼런스 카운터가 하나 줄고, 0이되면 해제되고, 할당 한 변수는 레퍼런스 카운터가 1 늘어난다.
    • copy 는 변수를 할당 할때 copy 메소드가 호출된다.
  • 타입이 id 형인 변수는 어떤 객체든지 저장할 수 있다 (void*)와 비슷하다.

.m 은 메소드 파일을 의미한다.


  • 변수 선언시 weak, strong 차이점은 뭔가?
  • #pragma mark --- ???


메소드 정의

  • 메소드 앞에 - 를 붙이면 일반 메소드 선언이다.
  • 메소드 앞에 + 를 붙이면 static 메소드 선언이다.


반복문

  • for in 키워드를 사용하자. foreach 와 용법이 비슷하다.
  • ex) for(NSString *color in colors) { }


프로퍼티 읽기전용 선언

  • @property (readonly) NSString *aa;


메모리 관리

  • 메모리를 생성해서 리턴하는 메소드는 autorelease 를 사용하는게 관례다.
    • return [[[Car alloc] init] autorelease];


문자열

    • 문자열 비교
      • [myStr isEqualToString: s1];
    • 문자열 생성
      • NSString *myStr = [NSString stringWithFormat: @"the number is %d", 5];
      • [myStr stringByAppendingString: @"22"];
      • [myStr stringByAppendingFormat: @"%d", 22];
      • [myStr characterAtIndex: 2];
    • 코코아 문자열을 c 문자열로 변환
      • [myStr UTF8String];
    • c 문자열을 코코아 문자열로 변환
      • [NSString stringWithCString: "hello world" encoding: NSUTF8StringEncoding];
    • 문자열 쪼개기
      • NSArray *wordArray = [myStr componentsSepratedByString: @" "];
    • 대소문자 변환
      • 대문자 변환 [myStr upperCaseString];
      • 소문자 변화 [myStr lowerCaseString];
    • 문자열에서 숫자 추출
      • [s1 intValue];
      • [s1 boolValue];
      • [s1 floatValue];
    • 추가로 알아볼 문자열 객체들
      • NSScanner
      • NSXMLParser


컬렉션

    • NSArray
      • [NSArray arrayWithObjects: " ~ "];
      • 가변배열
        • NSMutuableArray
      • 배열 합쳐서 리턴
        • [array arrayByAddingObjectsFromArray: array2];
      • 배열 요소 검사
        • [array containsObject: "dd"];
    • NSDictionary
      • 가변 사전
        • NSMutuableDictionary
      • 값 추가
        • [dict setObject:@"1" forKey:@"A"];
      • 검색
        • [dict objectForKey: @"A"];
      • 제거
        • [dict removeForKey: @"A"];


여러가지 클래스

    • intValue, floatValue, boolValue
    • NSTimer
    • NSDate
    • NSIndexPath
    • NSURL : 로커 파일 혹은 웹상의 url 모두 가능.
    • NSData, NSMutableData : 바이트 스트림 관리.
    • NSFileManager : 파일 관리자.
개인 도구
이름공간

변수
행위
둘러보기
도구모음