'Objective-C'에 해당되는 글 2건

  1. 2014.07.22 [ChopeTableController] v0.3.0
  2. 2013.12.21 오브젝티브-C 프로그래밍
Project/OpenSource2014.07.22 12:12

 v0.3.0

  • Cell에 표시할 data를 cellInfo에서 분리
  • cellInfo 설정 매소드 추가
  • data 설정 매소드 추가
  • 테스트 코드 변경


ChopeTableController

It is not subclass of UITableViewController.

Implemention of UITableViewDataSource, UITableViewDelegate.


@interface CPSimpleTableViewCell : UITableViewCell 

@property (nonatomic, weak) IBOutlet UILabel *titleLabel;

@end

@implementation CPSimpleTableViewCell

- (void)willMoveToSuperview:(UIView *)newSuperview {
    [super willMoveToSuperview:newSuperview];
    
    [self.titleLabel setTextColor:[UIColor whiteColor]];
}

+ (CGFloat)heightForCell:(id)data indexPath:(NSIndexPath *)indexPath {
    return 40 + (indexPath.row+1);
}

- (void)updateData:(id)data indexPath:(NSIndexPath *)indexPath {
    [self.titleLabel setText:data];
    [self setNormalBackgroundColor:indexPath];
}

- (void)setNormalBackgroundColor:(NSIndexPath *)indexPath {
    if (indexPath.row % 2 == 0) {
        [self setBackgroundColor:[UIColor darkGrayColor]];
    }
    else {
        [self setBackgroundColor:[UIColor purpleColor]];
    }
}

- (void)selectedWithData:(id)data indexPath:(NSIndexPath *)indexPath {
    [self setBackgroundColor:[UIColor blueColor]];
}

- (void)deselectedWithData:(id)data indexPath:(NSIndexPath *)indexPath {
    [self setNormalBackgroundColor:indexPath];
}

- (void)highlightedWithData:(id)data indexPath:(NSIndexPath *)indexPath {
    [self setBackgroundColor:[UIColor redColor]];
}

- (void)unhighlightedWithData:(id)data indexPath:(NSIndexPath *)indexPath {
    [self setNormalBackgroundColor:indexPath];
}

@end


Create ChopeTableController 

self.tableController = [[ChopeTableController alloc] init];


Set Table Information

ChopeTableInfo *tableViewInfo = [self.tableController addTableInfo:self.tableView paging:NO];
[tableViewInfo addCellClass:[CPSimpleTableViewCell class] cellIdentifier:CELL_IDENTIFIER_LABEL];
[tableViewInfo setDidLoadCellBlock:^(ChopeTableInfo *tableInfo, id <ChopeTableCellDelegate> cellDelegate, NSIndexPath *indexPath) {
        CPSimpleTableViewCell *cell = (CPSimpleTableViewCell *) cellDelegate;
        cell.button.tag = indexPath.row;
        [cell.button addTarget:self action:@selector(touchTestButton:) forControlEvents:UIControlEventTouchUpInside];
}];
[tableViewInfo setDidSelectRowBlock:^(ChopeTableInfo *cpTableInfo, NSIndexPath *indexPath) {
        NSLog(@"selected cell : %d", indexPath.row);
}];

paging:YES is not tested.


Add Data

cell information is about one cell.

  • Cell Class
  • Cell identifier


for (NSUInteger i=1; i<=100; i++) {
    [tableViewInfo addData:[NSString stringWithFormat:@"item - %d", i] cellIdentifier:CELL_IDENTIFIER_LABEL];
}


Screenshot



Github

https://github.com/chope-yoonhg84/ChopeTableController


신고
Posted by 초프(초보 프로그래머)
도서2013.12.21 01:27

아이폰 개발을 하고 있으면서도 관심이 생겨 보기 시작한 책.

몇달 전에 반을 보고 나서 한동안 열어 보지 못했는데 오랫만에 손에 들고 끝까지 읽었습니다.

역시 술술 잘 읽힐때가 있네요.


Objective-C 를 처음 배우려는 사람이나 알고있지만 뭔가 부족하다고 느끼는 사람들에게 추천합니다.

저도 항상 뭔가 부족하다고 느끼고 있었는데.. 모르던 부분을 몇개 알게 되었네요

동작방식등이 다른 책보다 자세히 설명되어 있어서 이해하기 쉬워요.



오브젝티브-C 프로그래밍

저자
아론 힐리가스 지음
출판사
제이펍 | 2012-04-27 출간
카테고리
컴퓨터/IT
책소개
iOS 및 코코아 커뮤니티에서 권위를 인정받고 있는 아론 힐리가...
가격비교 글쓴이 평점  


신고
Posted by 초프(초보 프로그래머)