2016-05-07 24 views
1

ObjectiveCを初めて使用していて、customTableViewで作業していて、アプリを実行してブランクテーブル以外のコンテンツが表示されない限り、うまくいっていた 問題の解決方法を見つけようとしましたしかし、これまでのところ運は以下 のコードではありませんし、またCustomTableViewにコンテンツが表示されない

を添付の写真はそれにすべてのヘルプは大

#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. ContactsTableViewControllerUITableViewControllerの子であることを確認します。
2.上記に該当しない場合は、tableViewdataSourceプロパティを確認してください。
(のようなもの:tableView.dataSource = self;
3.チェックあなたのtableViewInterface Builderxibまたはstoryboard)に接続されている場合
4. ContactsTableViewControllerUITableViewDataSourceを実装していることを確認します。
5. ContactsArrayの値をNSLogにしてください。
6.最後に(でも)、ContactsArrayを入力した後でtableViewのreloadDataメソッドを呼び出してみてください。

希望すると便利です。

+0

ありがとうございます – Cesar

0

3つの問題

  • あなたが明示的にテーブルビューをリロードする必要が

    Contact = ContactsArray[indexPath.row]; 
    
  • ContactsArray = ContactsArray[indexPath.row]; 
    

    を交換してください。追加

    [tableView reloadData]; 
    

    viewDidLoadの最後に追加します。

  • あなたはそれが実際に何もしませんので、あなたが、全体initWithStyle方法を削除することができます実際の型

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

にカスタムセルをキャストする必要があります。最後に、小文字で始まる変数名を使用する命名規則に従います。

+0

助けてくれてありがとう私は変更を提案しましたがまだ何も表示されません – Cesar

+0

'ContactsArray'にplistデータが含まれていますか?カスタムセルクラスはInterface Builderのセルに割り当てられていますか?チェックするためにブレークポイントや 'NSLog'行を挿入してください。 – vadian

+0

はい、それはplistを含んでいます、そしてどこでカスタムセルクラスがインターフェイスビルダでセルに割り当てられているかをチェックするためにブレークポイントを挿入しますか?申し訳ありません。たくさんの質問があります – Cesar

関連する問題