OSX
- MacHeist nanoBundle2 2010.03.08
- Cocoa Programming for Mac OS X(한글판) 수정 부분#1 2008.10.01
- 더 이상은 투자 안하려고 했는데... 2008.08.22
- Leopard 구매 완료. 2007.10.17
- iLife'08 / iWork'08 구입 2007.10.02
- OmniGraffle Professional 구입. 2007.08.13 4
MacHeist nanoBundle2
2010. 3. 8. 22:44
Cocoa Programming for Mac OS X(한글판) 수정 부분#1
2008. 10. 1. 01:13
5장 143쪽에서 awakeFromNib메서드 구현 부분에서 NSTableView에 나열되어 있는 NSSpeechSynthesizer의 목소리 목록에서 기본 목소리 값을 선택하게끔 하는 부분이 있다.
이 부분을 책에 있는 그대로 입력하게 되면 다음과 같은 경고(warning)이 출력된다.
Xcode의 개발자 문서에서 해당 메서드를 검색하니 deprecated 되었단다. NSTableView의 selectedRow:byExtendingSelection 대신 권장되는 selectedRowIndexs:byExtendingSelection 이다.
deprecated된 기존의 메서드의 NSInteger 타입이 아닌, NSIndexSet 타입의 파라미터를 받게된다. 따라서 위의 경고가 출력된 부분을 다음과 같이 수정하면 이상없이 빌드 / 실행(디버그) 할 수 있다.
// 테이블 뷰가 화면에 나타날 때 기본 목소리가 선택되어야 한다.
NSString *defaultVoice = [NSSpeechSynthesizer defaultVoice];
NSArray *voices = [NSSpeechSynthesizer availableVoices];
int defaultRow = [voices indexOfObject:defaultVoice];
[tableView selectedRow:defaultRow byExtendingSelection:NO];
[tableView scrollRowToVisible:defaultRow];
이 부분을 책에 있는 그대로 입력하게 되면 다음과 같은 경고(warning)이 출력된다.
Xcode의 개발자 문서에서 해당 메서드를 검색하니 deprecated 되었단다. NSTableView의 selectedRow:byExtendingSelection 대신 권장되는 selectedRowIndexs:byExtendingSelection 이다.
deprecated된 기존의 메서드의 NSInteger 타입이 아닌, NSIndexSet 타입의 파라미터를 받게된다. 따라서 위의 경고가 출력된 부분을 다음과 같이 수정하면 이상없이 빌드 / 실행(디버그) 할 수 있다.
[tableView selectRowIndexes:
[NSIndexSet indexSetWithIndex:defaultRow] byExtendingSelection:NO];
더 이상은 투자 안하려고 했는데...
2008. 8. 22. 00:06
iPhoto일 때는 그렇저럭 버틸만 했는데, Aperture로 갈아타니...
맥북이 터질라고 하더군.
돈 주고 산 프로그램을 설치해버렸으니 환불할 수도 없고...
그래서 바로 램 주문해서 추가해줬다.
내껀 구형이라 3Gb까지밖에 인식이 안된다고 해서 2Gb짜리 하나만 주문했다.
비행기 소리는 여전히 나지만, 그래도 쾌적해진듯...
애플캐어 만료되는 시점에 맥북프로로 갈아타야겠다.
Leopard 구매 완료.
2007. 10. 17. 02:16
iLife'08 / iWork'08 구입
2007. 10. 2. 00:28
OmniGraffle Professional 구입.
2007. 8. 13. 16:34