Проблемы с UITableView - PullRequest
       3

Проблемы с UITableView

0 голосов
/ 29 января 2012

Я создаю небольшое приложение, в котором я показываю в TableView массив.Проблема в том, что я не хочу использовать UITableViewController, я просто хочу использовать ViewController.Когда я запускаю приложение в симуляторе, оно не показывает массив.Вот код:

.h
@interface ViewController : UIViewController{
    IBOutlet UITableView *table;
    NSArray *array;
}

.m


  - (void)viewDidLoad
{
    [super viewDidLoad];
    array  =[NSArray arrayWithObjects:@"iPad",@"iTV" ,nil];

}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{

        return 1;
}

- (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];

    cell.textLabel.text = [array objectAtIndex:indexPath.row];

    return cell;
}

Пожалуйста, не отвечайте на это, говоря, что я должен использовать UITableViewController.Я знаю, что можно обойтись без этого, просто используя ViewController.В любом случае, спасибо!

Ответы [ 2 ]

2 голосов
/ 29 января 2012

Определите ваш интерфейс как

@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>{
    IBOutlet UITableView *table;
    NSArray *array;
}

и установите table s delegate и dataSource для выхода на File's owner, а класс File's owner как ViewController в xib.

Сначала просмотрите ваш проект, щелкните файл xib для вашего контроллера представления. Затем выберите вид таблицы из списка объектов. В этом случае могут быть некоторые дополнительные соображения:

Если вы уже создали xib с UITableViewController, вам нужно изменить его, чтобы он подходил для UIViewController. Помните, что экземпляр подкласса UIViewController отображается как объект-владелец файла. Вы должны убедиться, что существует объект верхнего уровня UIView, который не добавлен как подпредставление любого другого представления, и что в UIView есть UITableView.

Referencing outlets

У UIView должен быть ссылочный выход: view - Владелец файла. Если нет, перетащите курсор от белого кружка New Referencing Outlet до File's Owner, отпустите кнопку мыши и нажмите view.

В табличном представлении щелкните и перетащите из New Referencing Outlet и перейдите в Владелец файла, затем щелкните table и перетащите из dataSource, delegate и перейдите в Владелец файла соответственно.

Кстати, рекомендуется использовать заглавные буквы в качестве префикса для любого имени класса.

0 голосов
/ 29 января 2012

Вы должны следовать протоколу TableViewDelegate ... [http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...