내 cellForRowAtIndexPath
이 매번 실행되지 않습니다. dataSource
및 delegate
을 파일 소유자로 설정했습니다. 콘센트를 참조하도록 설정했습니다. 나는 tbl.delegate=self;
과 tbl.datasource=self;
도 시도하지만 작동하지 않습니다.cellForRowAtIndexPath가 호출되지 않았습니까?
어떻게해야합니까?
-(void)load
{
[name resignFirstResponder];
[salary resignFirstResponder];
[email protected]"";
[email protected]"";
[tblViewController.data removeAllObjects];
NSString *insertStatement = [NSString stringWithFormat:@"select * from emp"];
sqlite3_stmt *statement;
NSString *path= [self getDBPath];
if (sqlite3_open([path UTF8String], &db) == SQLITE_OK)
{
if (sqlite3_prepare_v2(db, [insertStatement UTF8String], -1,&statement, NULL) == SQLITE_OK)
{
while (sqlite3_step(statement) == SQLITE_ROW)
{
NSMutableDictionary *record=[[NSMutableDictionary alloc]init];
NSString *nm= [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement,0)];
NSString * sl= [NSString stringWithUTF8String:(char *)sqlite3_column_text(statement,1)];
[record setValue:nm forKey:@"name"];
[record setValue:sl forKey:@"salary"];
NSLog(@"%@ %@",nm,sl);
[tblViewController.data addObject:record];
NSLog(@"%@",tblViewController.data);
}
sqlite3_finalize(statement);
}
sqlite3_close(db);
}
NSLog(@"%lu",(unsigned long)[tblViewController.data count]);
[tblViewController.tbl reloadData];
}
//이 코드는
#import "tableViewController.h"
#import "ViewController.h"
@interface tableViewController()
@end
@implementation tableViewController
@synthesize tbl,data;
@synthesize viewOfTable;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
NSLog(@"only for check");
[self setup];
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
//[self setup];
tbl.delegate = self;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [data count];
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc]
initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier];
}
cell.textLabel.text=[[data objectAtIndex:indexPath.row] valueForKey:@
"name"];
cell.detailTextLabel.text=[[data objectAtIndex:indexPath.row]
valueForKey:@"salary"];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
//name.text =[[data objectAtIndex:indexPath.row] valueForKey:@"name"];
// salary.text=[[data objectAtIndex:indexPath.row] valueForKey:@"salary"];
}
- (void)setup
{
//Store the whole view in uiView...mac
// [[NSBundle mainBundle] loadNibNamed:@"RegistrationViewController" owner:self options:nil];
viewOfTable=[[UIView alloc]initWithFrame:self.view.frame];
[viewOfTable addSubview:self.view];
self.viewOfTable.translatesAutoresizingMaskIntoConstraints=YES;
}
내 문제를 해결하시기 바랍니다 tableviewcontroller.m이다. 당신은 아무 것도 얻지 못했습니다.
tbl을 로깅해야하며 tableView에 의해 반환되는 값 : numberOfRowsInSection : – jbat100
구체적으로 호출되지 않았습니까? – Wain