2012-04-02 6 views
0

Я относительно новичок в разработке iPhone, я попытался добавить uitableview для просмотра прокрутки, но он показывает ошибку Sigabart, после чего я добавил программно и добавил к нему источник uitableviewdelegate и uitableview и предоставил делегату как себя и добавьте метод noOfRowsInSection, методы деггей не вызываются. Скажите, кто-нибудь мне поможет.Добавление вида таблицы в прокрутке

@interface Class : UIViewController<UITableViewDelegate,UITableViewDataSource> { 
    UITableView *table; 
    UIScrollView *scrView; 
    NSArray *array; 
} 
@property (nonatomic, retain) IBOutlet UIScrollView *scrView; 
@end 

here is my implementation 

- (void)viewDidload 
{ 
    array = [[NSArray alloc]initWithObjects:@"harsha",@"theja",@"pandu", nil]; 
    [super viewDidUnload]; 
    table = [[UITableView alloc]initWithFrame:CGRectMake(0, 260, 360, 220)]; 
    [self.view addSubview:table]; 
    table.delegate = self ; 


} 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return [array count]; 
} 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
    } 
    cell.textLabel.text = [array objectAtIndex:indexPath.row]; 
    return cell; 

} 

@end 

Я добавляю вид прокрутки, хотя строитель интерфейса, но я делаю таблицу Progra вида матический вид табла отображается на экране, но эти методы не неоспоримые называют

+1

, пожалуйста, покажите нам код и методы делегирования :) сделали ли вы соединение в interfacebuilder? Какая ошибка показывает ваша консоль с сигбартом? –

+0

Существует множество возможных причин для этого, которые почти невозможно отладить без соответствующего кода. – mydogisbox

+0

На стороне примечание UITableView является подклассом UIScrollView. Поэтому, если вам нужна только стандартная вертикальная прокрутка, просто используйте UITableView. – cobbal

ответ

3

первая: вы используете viewDidUnload вместо viewDidLoad,

второй: добавить tableview.dataSource = self и реализовать методы DataSource делегата =)

Вы используете делегат вместо источника данных =)

+0

спасибо, что я сделал это в режиме просмотра, но загрузил только, но я havent добавил table.datasource для self.Adiing он решил это. – SreeHarsha

+0

иногда это то, что просто =) рад, что я мог бы помочь. –

1

Вы размещаете свой код в viewDidUnload способ. Переместить этот код viewDidLoad

- (void)viewDidUnload 
{ 
    array = [[NSArray alloc]initWithObjects:@"harsha",@"theja",@"pandu", nil]; 
    [super viewDidUnload]; 
    table = [[UITableView alloc]initWithFrame:CGRectMake(0, 260, 360, 220)]; 
    [self.view addSubview:table]; 
    table.delegate = self ; 
} 

Должно быть так:

- (void)viewDidLoad 
{ 
    array = [[NSArray alloc]initWithObjects:@"harsha",@"theja",@"pandu", nil]; 
    [super viewDidUnload]; 
    table = [[UITableView alloc]initWithFrame:CGRectMake(0, 260, 360, 220)]; 
    [self.view addSubview:table]; 
    table.delegate = self; 
    table.dataSource = self; 
} 
+0

Я сделал это в поле зрения, загрузил только, как вы просили код, в моем приложении есть другие другие вещи, чтобы показать вам, что я создал класс и вставил его в viewdidunload случайно, мне очень жаль. – SreeHarsha

+0

прочитал мой ответ :-) вы забыли установить источник данных. –