2016-05-07 2 views
1

Я новичок в ObjectiveC, и работа над customTableView все шло хорошо, пока я не запустил приложение, и содержимое не отображается, кроме таблицы blanc с линиями по ней. Я попытался найти решение проблемы но до сих пор не повезло ниже не код, а также фотографии прилагаетсяCustomTableView not Отображение содержимого

Любая помощь с этим будет очень цениться

#import "ContactsTableViewController.h" 
#import "CustomCell.h" 

@interface ContactsTableViewController() 
@property (nonatomic, strong) NSArray *ContactsArray; 
@property (nonatomic, strong) NSDictionary *Contact; 

@end 

@implementation ContactsTableViewController 

@synthesize ContactsArray, Contact; 


- (id) initWithStyle:(UITableViewStyle)style 

{ 

self = [super initWithStyle:style]; 

    if (self) 
{ 

} 

return self; 

} 

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 

    NSString *path = [[NSBundle mainBundle]pathForResource:@"Contacts" ofType:@"plist"]; 

ContactsArray = [NSArray arrayWithContentsOfFile:path]; 

} 

- (void)didReceiveMemoryWarning 
{ 

[super didReceiveMemoryWarning]; 

} 

#pragma mark - Table view data source 

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
    { 
    return 1; 
    } 

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

    { 

     return [ContactsArray count]; 
    } 

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

    { 
      static NSString *CellIdentifier = @"Cell"; 

    CustomCell *customCell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier forIndexPath: indexPath]; 

     ContactsArray = ContactsArray [indexPath.row]; 

     NSString *firstName = Contact[@"firstName"]; 
     NSString *lastName = Contact[@"lastName"]; 
     NSString *imageName = Contact[@"imageName"]; 


     UIImage *image = [UIImage imageNamed:imageName]; 

     customCell.CustomFirstNameLabel.text = firstName; 
     customCell.CustomLastNameLabel.text= lastName; 
     customCell.CustomImageView.image = image; 

     return customCell; 

    { 

Tableview

+0

любезно согласиться с ответом, который, по вашему мнению, помог вам больше всего! –

+0

Спасибо за информацию, которую мне только что удалось заставить работать. Cesar – Cesar

ответ

0

Wel приходят к StackOverflow.
Вы можете отладить эту проблему следующими способами:
1. Убедитесь, что ContactsTableViewController является дочерним лицом UITableViewController.
2. Если это не так, проверьте имущество dataSource вашего tableView.
(что-то вроде: tableView.dataSource = self;)
3. Проверьте, если ваш tableView подключен к Interface Builder (xib или storyboard)
4. Убедитесь, что ContactsTableViewController реализует UITableViewDataSource.
5. Попробуйте NSLog значение вашего ContactsArray.
6. И последнее (но не менее важно) попробуйте вызвать метод reloadData вашего tableView после заполнения вашего ContactsArray.

Надеюсь, это поможет!

+0

Благодарим вас за информацию – Cesar

0

три вопроса

  • Заменить

    ContactsArray = ContactsArray[indexPath.row]; 
    

    с

    Contact = ContactsArray[indexPath.row]; 
    
  • Вы должны перезагрузить вид таблицы в явном виде. Add

    [tableView reloadData]; 
    

    в конце viewDidLoad.

  • Вы должны бросить пользовательские ячейки к фактическому типу

    CustomCell *customCell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier: CellIdentifier forIndexPath: indexPath]; 
    

Далее вы можете удалить весь initWithStyle метод, так как он ничего не делает на самом деле. И последнее, но не менее важное, согласуется с соглашением об именах, чтобы использовать имена переменных, начиная с буквы нижнего регистра.

+0

Благодарим за помощь. Я внес изменения, но ничего не показывает. – Cesar

+0

Имеет ли 'КонтактыArray' данные plist? Является ли пользовательский класс ячейки назначенным ячейке в Interface Builder? Вставьте точки останова или строки «NSLog», чтобы проверить это. – vadian

+0

Да, он содержит plist, и где бы я вставлял точки останова, чтобы проверить, что пользовательский класс ячейки назначен ячейке в Interface Builder? Извините за так много вопросов – Cesar

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