개정판 1쇄 정오표
'코코아 프로그래밍' 개정판(원서 3판) 1쇄 정오표
xvi쪽 첫 줄에서 원서명으로 교체
『Cocoa Programming for MAC OS X』의 2판 번역서가 나온 지 얼마 지나지 않아 3판이 등장하였습니다.
서문 14째줄(Prin-E 님)
가비지 컬렉터(garbage collector)
5쪽 옮긴이 주석에서 탈자(김태연님)
1 (옮긴이) 역자의 블로그 http://jinhyung.org/jenix를 방문하면 이에 관련된 IBM DeveloperWorks 기고를 찾아볼 수 있다.
13쪽 9째줄(Prin-E 님)
Save 버튼을 클릭한다.
28쪽 아래쪽 소스코드
[textField setIntValue:count]
32쪽 소스코드(박노엘 님)
[textField setObjectValue:now]
34쪽 아래에서 둘째 줄(곽상혁 님)
애플리케이션이 키보드와 마우스에서 이벤트를 받으면 윈도 서버는
41쪽 소스코드(우울한딱따구리 님)
NSNumber *newnumber = [[NSNumber alloc] initWithInt:(i * 3)];
[array addObject:newNumber];
}
for ( i = 0; i < 10; i++ ) {
NSNumber *newNumber = [[NSNumber alloc] initWithInt:(i * 3)];
[array addObject:newNumber];
}
42쪽 맨 아래 소스코드에서 둘째 줄 코드 추가(곽상혁 님)
for (i=0; i<10;i++) {
numberToPrint = [array objectAtIndex:i];
for (i=0; i<10;i++) {
NSNumber *numberToPrint = [array objectAtIndex:i];
43쪽 표 3-1 중에서 대문자로 변경(Prin-E 님)
%S unichar 문자열
53쪽 소스코드 첫 줄에서(홍영민 님)
78쪽 소스코드 셋째 줄에서 세미콜론 누락(김태연 님)
}
// 'now'를 다 사용하였다.
[now release]
[now release];
79쪽 “dealloc 구현하기”절의 첫 코드(Prin-E 님)
- (void)dealloc
{
NSLog(@"dallocing %@", self);
NSLog(@”deallocing %@", self);
83쪽 소스코드 6번째 줄에서 소문자로 변경(김태연 님)
for (i=0; i < [myArray count]; i++) {
90쪽 첫째 줄에서(우울한딱따구리 님)
앱킷 프레임워크를 이해하려면 NSObject의 서브클래스인 NSControl, NSButton...
103쪽 '디버깅 힌트'절의 아래에서 3번째 줄(김태연 님)
디버깅 심벌을 제거한다. 프로그램에 디버깅 심벌이 없으면 디버거가 이상하게
104쪽 4째 문단 2째 줄 s 삭제 (Prin-E 님)
다. 그림 5.15와 같이 하나는 NSZombieEnabled를 YES로, 다른 하나는
114쪽 소스코드 넷째 줄 코드 볼드 해제(우울한딱따구리 님)
#import <Cocoa/Cocoa.h>
@interface AppController : NSObject
{
IBOutlet NSTextField *textField;
IBOutlet NSButton *startButton; (<--볼드 없어야 함)
IBOutlet NSButton *stopButton;
IBOutlet NSTableView *tableView;
NSArray *voiceList; NSSpeechSynthesizer *speechSynth;
}
118쪽 소스코드
- (id)tableView: ...
objecValueForTableColumn:...
- (id)tableView: ...
objectValueForTableColumn:...
120쪽 첫 번째 소스코드 맨끝에 '}' 붙여야 함.(Prin-E 님)
- (void)awakeFromNib
{
// 테이블 뷰가 화면에 나타날 때 기본 목소리가
// 선택되어야 한다.
NSString *defaultVoice = [NSSpeechSynthesizer defaultVoice];
int defaultRow = [voiceList indexOfObject:defaultVoice];
[tableView selectRow:defaultRow byExtendingSelection:NO];
[tableView scrollRowToVisible:defaultRow];
}
125쪽 첫 소스코드의 맨 밑줄에서 s를 빼야 함(Prin-E 님)
@end
136쪽 "더 파고들기- 키 경로"의 마지막 코드에서 닫는 큰따옴표 붙여야 함.(Prin-E 님)
[textField unbind:@"value"];
136쪽 "더 파고들기- 키-밸류 옵저빙"절의 첫 코드에서 셋째 줄에 코드 추가(Prin-E 님)
options:NSKeyValueObservingOptionOld
136쪽 맨밑에서 두 번째 줄에서 닫는 큰 따옴표를 붙여야 함.(Prin-E 님)
이 경우 keyPath은 @"fido가 되고 obejct은 AppController이 된다.
이 경우 keyPath은 @"fido"가 되고 obejct은 AppController이 된다.
149쪽 둘째 줄 s를 빼야 함(Prin-E 님)
될 수 있으나 float는 그럴 수 없기 때문이다.
149쪽 세 번째 문단의 첫 줄에서 k를 대문자로(Prin-E 님)
여기서 만든 포매터를 적용할 때 종종 setNilValueForKey:를 재정의할 필요가 없
163쪽 두 번쨰 코드 맨 끝에 다음의 코드를 추가해야 함.(seonguki 님)
{
[person removeObserver:self forKeyPath:@"personName"];
[person removeObserver:self forKeyPath:@"expectedRaise"];
}
186쪽 코드 첫 줄 s 추가(Prin-E 님)
cd /Applications/TextEdit.app/Contents
196쪽 7째줄(우울한딱따구리 님)
또한 Generate Decimal Numbers와 Always Shows Decimal 옵션을 선택하자
205쪽 둘째 줄 오자 (Prin-E 님)
ument.nib이다. 애플리케이션을 처음 실행할 때 NSApplication은
216쪽 밑에서 7째 줄 오자(Prin-E 님)
changeBackgroundColor:와 changeNewEmptyDoc: 메서드는…
226쪽 위의 코드에서 11번째줄(우울한딱따구리 님)
[defaultValues setObject:[NSNumber numberWithBool:YES] forKey:BNREmptyDocKey]
227쪽 밑에서 18째줄 코드(Prin-E 님)
[checBox setState:[self emptyDoc]];
275쪽 첫째 줄 / 삭제(Prin-E 님)
- (int)clickCount
275쪽 '마우스 이벤트 얻기' 절 첫 코드 6째,9째줄(Prin-E 님)
-(void)mouseDragged:](NSEvent *)event ( <- ] 삭제)
{
NSPoint p = [event locationInWindow];
NSLog(@"mouseDragged:%@", NSStringFromPoint(p)); (<-따옴표 모양 "로 수정)
297쪽 둘째 코드의 4째 줄에서 o 삭제(Prin-E 님)
[c retain];
298쪽 첫째 줄(Prin-E 님)
다. 만약 뷰가 윈도의 퍼스트 리스폰더라면 뷰 가장자리를 파란 테두리로 표시
299쪽 1째, 4째줄 - 19장 키보드 이벤트(Prin-E 님)
keyDown: 이벤트에서 뷰는 문자열을
NSView가 상속하는 NSResponder는…
387쪽 8째 줄 소스코드에서 소문자 d로 (seonguki 님)
@"AWSAccessKeyId=%@&"
464쪽 '인터페이스 빌더'절의 둘째 줄(김태연 님)
밍에서 했던 것처럼 Xib(1) 파일을 연다. Xcode에서, 왼쪽의 Groups&Files에서
473쪽 위에서 3째줄(Prin-E 님) 6째줄(김태연 님)
케이션과 똑같이 NSApplicationMain 함수를 통해 (3째 줄)
케이션과 똑같이 UIApplicationMain 함수를 통해
앱킷과는 약간 다르게 클래스 상속을 한다. 코코아에서 NSWindow와 NSView는
History
Last edited on 07/15/2010 09:52 by 인사이트