사용자 정의 논리를 포함하는 UITableView에서 파생 클래스를 만들었습니다. 그러나 세포를 채우는 방법을 잘 모르겠습니다.사용자 정의 클래스가있는 UITableView
h. 파일 :
@interface MetricsView : UITableView {
@private
NSMutableArray *_items;
}
@end
m. 파일 :
@implementation MetricsView
//this gets called
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
_items = [[NSMutableArray alloc]initWithObjects:@"Name:", nil];
}
return self;
}
//this never gets called??
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
//this never gets called??
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [_items count];
}
//this never gets called??
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *cellIdentifier = @"MetricsViewCell";
MetricsViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
[cell setupWithName:[_items objectAtIndex:0] withData:[_items objectAtIndex:0]];
return cell;
}
@end
나는 내 ViewController 위에 MetricsView를 만들었습니다. 다음과 같은 모습을 스토리 보드 작업은 다음과 같습니다
내가 ViewController.m 내부에 일부 사용자 지정 초기화 코드를 추가해야합니까?
감사합니다.
지금 고맙다고 생각합니다. –
그래서 "객체에 대한 malloc : *** 오류가 발생했습니다 : 0x75610453 : 할당 해제 된 포인터가 해제되었습니다.*** setDataSource를 호출 한 후"디버깅을 위해 malloc_error_break에 중단 점을 설정하십시오. " My MetricsView는 더 이상 사용자 정의 클래스가 아니며 단지 기본 UITableView입니다. metricsView를 직접 호출해야합니까? –
모두 지금 고맙다! –