2011-05-14 3 views
1

Новичок, просто учись!Пользовательские ячейки и проблемы с UITableViewCell

Я пытаюсь создать приложение для просмотра таблиц с тремя пользовательскими ячейками. Каждая ячейка должна иметь метку и изображение слева (до сих пор я только беспокоился с частью ярлыка). До сих пор this guide

был очень полезен. Я создал массив с тремя элементами и получил его для загрузки просто отлично, но когда я попытался реализовать пользовательскую ячейку, все сломалось. Для этой части кода:

(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"CustomCell"; 

    CustomCell *cell = (CustomCell *) 
    [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (cell == nil){ 
     NSArray *topLevelObjects = [[NSBundle mainBundle] 
            loadNibNamed:@"CustomCell" 
            owner:nil options:nil]; 

     for(id currentObject in topLevelObjects) 
      { 
       if ([currentObject isKindOfClass:[UITableViewCell class]]) 
       { 
        cell = (CustomCell *) currentObject; 
        break; 
       } 
     } 
    } 

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

    return cell; 
} 

Я получаю ошибки Unused variable CellIdentifier, CustomCell undeclared, Expected expression before) token и Control reaches end of non-void function.

Я не знаю, что вызовет их, и я как бы зашел в тупик, насколько я знаю, что искать. Извините за мою новизну, и любые указания в правильном направлении будут оценены.

Редактировать: Heyooo! Спасибо, импортировав CustomCell, исправил массу проблем! Теперь нет никаких видимых ошибок перед запуском, но когда я пытаюсь запустить его, я просто присылают в

// Customize the number of rows in the table view. 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return [array count]; 

с красной стрелкой, чтобы вернуться [число массива];

Текущий код массива у меня есть:

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    array = [[NSMutableArray alloc] init]; 
    [array addObject:@"Eleven"]; 
    [array addObject:@"Ten"]; 
    [array addObject:@"Nine"]; 

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

+0

Если вы нажмете на красную стрелу, это даст вам сообщение о проблеме? Если в Xcode4 вы можете использовать Cmd-4, чтобы увидеть ошибку сборки. – dredful

ответ

3

Все, что вам нужно, это объявление импорта класса CustomCell.

#import "CustomCell.h" // for example. 
+0

попробуйте заменить 'return [array count]' с 'return 3' Если это помогает, чем проблема с обработкой самого массива. – mbykov

+0

Умная идея, но все равно ломается ...? Странный. – Kevinflo

+0

Странно, это ломается и в других местах. [Здесь] (http://i.imgur.com/fwiEn.png) - все перерывы. – Kevinflo

0

Возможно, вы просто пропустили шаг. Вы создали файлы CustomCell.m, CustomCell.m и CustomCell.xib? Если это так, вам нужно будет импортировать файл заголовка.

#import "CustomCell.h" 
+0

Yup, я сделал это. Импорт заголовка был проблемой до сих пор. Спасибо^_ ^ – Kevinflo

Смежные вопросы