컴퓨터 이야기
- 개발 시작. 2009.09.28
- -setNilValueForKey:(NSString *)s 2009.09.09
- Cocoa 3rd - Delegate 연습문제(데이터 소스 만들기) 2009.09.09
- 센스쟁이 애플 2009.09.08
- Snow Leopard 설치 완료 2009.08.30
- xp-dev.com 죽다. 2009.02.08
- 로직 변경. 2008.12.29 2
- KUBUNTU 8.10 2008.12.15
- 다국어를 위한 Flex budle 만들기 2008.12.09 2
- 모바일 싸이월드? 2008.11.26
개발 시작.
-setNilValueForKey:(NSString *)s
NSObject에 정의된 이 메서드가 예외를 발생시키기 때문에 사용자가 ExpectedRaise필드를 비워 두면 여러분의 객체는 예외를 발생시킬 것이다. 일반적으로 setNilValueForKey:를 재정의해서 인스턴스 변수를 어떤 기본 값으로 정한다. 이 경우 Person 클래스에 있는 이 메서드를 재정의하여 expectedRaise를 0.0으로 설정한다. 다음 메서드를 Person.m에 추가하자.
- (void)setNilValueForKey:(NSString *)key {
if ([key isEqual:@"expectedRaise"]) {
[self setExpectedRaise:0.0];
} else {
[super setNilValueForKey:key];
}
}
Cocoa 3rd - Delegate 연습문제(데이터 소스 만들기)
//
// AppController.h
// MakeDataSource
//
// Created by JoonHo Son on 09. 9. 8..
// Copyright 2009 JoonHo Son(s9712094@gmail.com). All rights reserved.
//
#import <Cocoa/Cocoa.h>
@interface AppController : NSObject {
IBOutlet NSTextField *textField;
IBOutlet NSTableView *tableView;
NSMutableArray *array;
}
- (IBAction)addTodo:(id)sender;
@end
//
// AppController.m
// MakeDataSource
//
// Created by JoonHo Son on 09. 9. 8..
// Copyright 2009 JoonHo Son(s9712094@gmail.com). All rights reserved.
//
#import "AppController.h"
@implementation AppController
#pragma mark -
#pragma mark override methods
- (id)init {
if (![super init]) {
return nil;
}
array = [[NSMutableArray alloc] init];
return self;
}
- (void)dealloc {
[textField release];
[tableView release];
[array release];
[super dealloc];
}
#pragma mark -
#pragma mark private methods
- (void)addTodo:(id)sender {
NSString *string = [textField stringValue];
if ([string length] == 0) {
NSLog(@"You must input TODO text");
return;
}
[array addObject:string];
[tableView reloadData];
[textField setStringValue:@""];
int count = [array count];
int i;
for (i = 0; i < count; i++) {
NSLog(@"%d contents : %@", i, [array objectAtIndex:i]);
}
}
#pragma mark -
#pragma mark delegate methods
- (int)numberOfRowsInTableView:(NSTableView *)tv {
return [array count];
}
- (id)tableView:(NSTableView *)tv
objectValueForTableColumn:(NSTableColumn *)tableColumn
row:(NSInteger)row; {
NSString *v = [array objectAtIndex:row];
return v;
}
- (void)tableView:(NSTableView *)tv
setObjectValue:(id)object
forTableColumn:(NSTableColumn *)column
row:(int)row {
[array replaceObjectAtIndex:row withObject:object];
}
@end
센스쟁이 애플
Snow Leopard 설치 완료
xp-dev.com 죽다.
로직 변경.
KUBUNTU 8.10
다국어를 위한 Flex budle 만들기
- 다음의 항목이 존재하는 확인
- {sdk}/frameworks/projects/airframework/bundles/en_US
- {sdk}/frameworks/projects/automation/bundles/en_US
- {sdk}/frameworks/projects/framework/bundles/en_US
- {sdk}/frameworks/projects/rpc/bundles/en_US
- en_US 폴더를 ~/bundles/에 복사
- 예 : kr_temp로 복사
- 복사된 각 폴더의 소스폴더(src)에 존재하는 .properties 파일을 열어 적당히 수정
- 모든 파일 수정 완료 후
- {sdk}/bin/copylocale "복사된 임시폴더명" "타겟 locale"
- 예 : copylocale kr_temp ko_KR
- 컴파일 옵션에 해당 locale 추가
- 예 : -locale=en_US,ko_KR
- 한국어 등의 2바이트 문자를 입력한 파일은 utf-8로 저장해야 한다.
모바일 싸이월드?
(전직 :-P)서명덕 기자님의 블로그에서 며칠 전 우연히 다음의 포스팅을 보았다.
얼핏 봤을 때 내용은 풀브라우징을 지원하는 단말기에서 싸이월드를 이용할 수 있도록 했다는 것이었다.
오호라... 맥 쓰면서 멀리했던 싸이인데, 모바일 전용 서비스를 한다면 어떤 모습일까 싶어 집에서 접속해 보았다.
음... 일단 접속은 됐다.
그런데, 접속 가능한 단말기에 대한 내용이 있더라.
샘숭의 폰만, 그것도 달랑 하나 지원하는구나.
풀브라우징의 개념을 내가 잘못 알고 있는건가? :-(