'2008/12'에 해당되는 글 3건

  1. 2008/12/26 @property
  2. 2008/12/24 NSImage의 크기 구하기
  3. 2008/12/12 경험담

@property

분류없음 2008/12/26 06:16

Objective C 2.0에 등장한 개념으로

제일 중요한 목적은 모든 프로그래머의 로망인 타자수 줄이기 (농담)


헤더

@interface babo : NSObject {
    NSString *string;
    int i;
}

@property(nonatomic, retain) NSString *string;
@property int i;

@end

소스
@implementation babo

@synthesize string;
@synthesize i;

@end

property 뒤에 아무 것도 안 쓰면 무제한 접근이 가능하다. 쓰기를 막고 싶으면

@property(readonly) int i;

그 외에 몇 가지 더 있는거 같다.

이렇게 해 두면 getter/setter 메서드가 비록 없지만
b = [[babo alloc] init];
[b setI:100000];

이런 짓이 가능하다

물론

j = [b i];

도 된다.





property를 안쓰면


크리에이티브 커먼즈 라이센스
Creative Commons License
2008/12/26 06:16 2008/12/26 06:16
Posted by 호빵

NSImage의 크기를 구하는 메서드는 size다.

NSImage *image = %*(#&*(@$&;
[image size].width => 너비
[image size].height => 높이

물론 [image size]의 형태는 NSSize 구조체고..

그런데 이 놈은 기준이 뭔진 도무지 모르겠지만 코코아가 일정 비율로 숫자를 바꿔 버린다. 이를테면 256x256 이미지에다 대고 저걸 했더니 127.44 127.44가 나온다거나 하는 식이다. 더럽게시리 비율도 지맘대로다. (뭔가 기준은 있겠지만 못찾았다)

해결책은 NSImage가 아닌 NSImageRep / NSBitmapImageRep의 pixelsWide, pixelsHigh

NSImagRep *imageRep = [NSImagRep
    imageRepWithContentsOfFile:@"test.jpg"];
width = [imageRep pixelsWide]; // int형식
height = [imageRep pixelsHigh]; // 얘도

NSImage의 정해진 용도가 뭔진 모르겠으나 이 놈은 비트맵 데이터를 직접 읽어오지도 못하고, 크기도 코코아에서 지정한 변환을 거친 다음의 것만 얻을 수 있는 걸 봐선 저수준으로 쓰라는 놈은 아닌거 같다.



크리에이티브 커먼즈 라이센스
Creative Commons License
2008/12/24 04:40 2008/12/24 04:40
Posted by 호빵

경험담

배고파 2008/12/12 23:56

고등학교 때 사회문제. (요즘은 뭐라고 부르나)

문제는 잘 기억이 안난다.

아무튼 시험시간 직전에 잠깐 훑어본 교과서에서 나왔던 내용이라 회심의 미소를 지으며

답을 썼다.

"실업자 수 / 전체 노동가능 인구 수"





어라? 그런데 틀렸단다.

교과서를 봐도 틀림없고, 답안지를 봐도 잘못 쓰거나 밀려쓴 것도 아니다.

항의를 하면서 그럼 정답이 뭐냐 라고 물었더니

"실업자 수 / 전체 노동가능 인구 수"

란다.



결국 항의는 받아들여지지 않았다.

크리에이티브 커먼즈 라이센스
Creative Commons License
2008/12/12 23:56 2008/12/12 23:56
Posted by 호빵
TAG