Не удается отобразить текст в UITableView - PullRequest
0 голосов
/ 05 февраля 2012

У меня есть приложение, основанное на представлении, которое выполняет одну вещь: показывает массив в TableView, но оно не работает, и я не знаю почему.Вот код.

.h

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

.m

-(void)viewDidLoad{
[super viewDidLoad];
    array = [array initWithObjects:@"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];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

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

    return cell;
}

Есть идеи, почему TableView не показывает текст?Спасибо, люди!

Ответы [ 2 ]

2 голосов
/ 05 февраля 2012
array = [array initWithObjects:@"iPad", @"iTV", nil];

Должно быть

array = [NSArray initWithObjects:@"iPad", @"iTV", nil];

, также убедитесь, что вы вызываете arrayInit, как упомянул ячмень

edit: Винс прав, указав, что должно быть либо

[[NSArray alloc] initWithObjects:@"iPad", @"iTV", nil];

или

[NSArray arrayWithObjects:@"iPad",@"iTV",nil];

в зависимости от того, хотите ли вы сохранить или автоматически разблокировать

1 голос
/ 05 февраля 2012

Я предполагаю, что вы работаете под ARC

NSIndexPath не имеет свойства "row" try

NSInteger row = [indexPath indexAtPosition:1];
cell.textLabel.text = [array objectAtIndex:row];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...