태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
Creative Commons License
Creative Commons License
Objective-C를 사용하다보면, Async event를 사용하여 callback 형식으로 객체를 구성하는 경우가 있다.

이 때, selector를 사용하면 간단하게 해결할 수 있다.

예)
[TestSelector.h]
#import <UIKit/UIKit.h>

interface TestSelector : NSObject {
@private
    id rootDelegate;
    SEL noargTask;
    SEL argTask;
}

- (void)SetNoArg:(id) delegate selector:(SEL)selector;
- (void)SetArg:(id) delegate selector:(SEL)selector;
- (void)DoNoArg;
- (void)DoArg : (NSString*)arg1;
@end

[TestSelector.m]
#import "TestSelector.m"

@implementation TestSelector

-(void)SetNoArg:(id) delegate selector:(SEL)selector
{
    rootDelegate = delegate;
    noargTask = selector;
}

-(void)SetArg:(id) delegate selector:(SEL)selector
{
    rootDelegate = delegate;
    argTask = selector;
}

-(void)DoNoArg
{
    if ([rootDelegate respondsToSelector:noArgTask])
        [rootDelegate performSelector:noArgTask];
}

-(void)DoArg:(NSString *)str
{
    if ([rootDelegate respondsToSelector:argTask])
        [rootDelegate performSelector:argTask withObject:str];
}

다른 곳에서 사용할 때,

TestSelector *test = [[TestSelector alloc] init];
[test SetNoArg:self selector:@selector(MyNoArg)];

-(void)MyNoArg
{
}

실행하면 정해진 조건이 될때, MyNoArg가 실행된다.
신고
블로그 이미지

*별빛*

UI/UX관련 개발이슈 및 방법을 나누는 곳입니다. Flex/AIR, Silverlight등 pc 기반 iPhone, Android등 smartphone 기반

Creative Commons License
Creative Commons License
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
    }
   
    CGRect contentRect = CGRectMake(80.0, 0.0, 240, 40);
    UILabel *textView = [[UILabel alloc] initWithFrame:contentRect];

textView.text = mytext;
textView.numberOfLines = 2;
textView.textColor = [UIColor grayColor];
textView.font = [UIFont systemFontOfSize:12];
        [cell.contentView addSubview:textView];
[textView release];
신고
블로그 이미지

*별빛*

UI/UX관련 개발이슈 및 방법을 나누는 곳입니다. Flex/AIR, Silverlight등 pc 기반 iPhone, Android등 smartphone 기반

Creative Commons License
Creative Commons License

[User]/라이브러리/Application Support/iPhone Simulator/User
신고
블로그 이미지

*별빛*

UI/UX관련 개발이슈 및 방법을 나누는 곳입니다. Flex/AIR, Silverlight등 pc 기반 iPhone, Android등 smartphone 기반

Creative Commons License
Creative Commons License
시계어플등을 보면, 자동으로 화면이 잠기지 않는 것을 볼 수 있다.

이것은 간단하게 다음과 같이 구현할 수 있다.

[UIApplication sharedApplication].idleTimerDisabled = NO

당연히, application이 끝날 떄 이것을 해제해야 한다.
신고
블로그 이미지

*별빛*

UI/UX관련 개발이슈 및 방법을 나누는 곳입니다. Flex/AIR, Silverlight등 pc 기반 iPhone, Android등 smartphone 기반

Creative Commons License
Creative Commons License

아이폰/터치에서 현재 남아있는 여유공간이 얼마인지 알아보려면 다음과 같이 하면 된다.

NSDictionary* FileAttrs = [ [NSFileManager defaultManager]
                          fileSystemAttributesAtPath:NSTemporaryDirectory()];
NSNumber* freeSize = [FileAttrs objectForKey:NSFileSystemFreeSize];

신고
블로그 이미지

*별빛*

UI/UX관련 개발이슈 및 방법을 나누는 곳입니다. Flex/AIR, Silverlight등 pc 기반 iPhone, Android등 smartphone 기반

Creative Commons License
Creative Commons License
현재 개발 기기로 1세대와 2세대 하나씩 있다.

Provisioning에서, 두가지 디바이스 모두 되게 하고 컴파일을 하고 기기에서 실행을 시키는데,

처음에 이런 문구가 뜰 때가 있다.

"Unable to locate a suitable developer disk image"

이에 관해서, iPhone Dev에 있는 iphone_os_preinstallation_advisory_v2.0.pdf를

찾아보면, 다음과 같이 하면 된다고 한다.

1. 터미널을 실행 시킨다.
2. cd <DeveloperHome>/Platforms/iPhoneOS.platform/DeviceSupport
3. ln -s 2.1 2.1.1

이와 같은 방식으로 하면 정상동작될 경우도 있으나 혹시 빌드넘버에 따라 안되기도하므로,

ln -s 2.1 "2.1.1 (5B138)" 로 하는 게 더 안전하다.
신고
블로그 이미지

*별빛*

UI/UX관련 개발이슈 및 방법을 나누는 곳입니다. Flex/AIR, Silverlight등 pc 기반 iPhone, Android등 smartphone 기반

티스토리 툴바