TableViewを配置した中央に別の小さなUIViewを配置し、このテーブルの配列からデータを表示する方法がわからないViewControllerがあります。どんな助けでも大歓迎です。テーブルでUIViewをロードするときに、dataSourceからセルを取得できませんでした
-(void) animateResults {
_resultsLabel.text = [NSString stringWithFormat:@"You Scored %d", runningScore ];
resultsTable.delegate = self;
resultsTable.dataSource = self;
[self.resultsTable registerClass:[UITableViewCell self] forCellReuseIdentifier:@"resultsListCell"];
[self.resultsTable reloadData];
[self.view layoutIfNeeded];
[UIView animateWithDuration:0.3 animations:^{
_resultsView.frame = self.view.frame;
} completion:^(BOOL finished){
NSLog(@"%@", questionsArray);
}];
}
私はそのデータソースからセルを取得できませんでした。このコードを使用してテーブルをロードしようとしています。テーブルのHERESにコード
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
//Return number of sections
return 1;
}
//get number of rows by counting number of challenges
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection: (NSInteger)section {
return questionsArray.count;
}
//setup cells in tableView
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath{
//setup cell
static NSString *CellIdentifier = @"resultsListCell";
resultsViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
NSDictionary *results = [questionsArray objectAtIndex:indexPath.row];
NSString *resultsName = [results objectForKey:@"answers"];
BOOL correct = [[results objectForKey:@"correct"] boolValue];
if (!correct) {
cell.resultsIcon.image = [UIImage imageNamed:@"BlackIconLock.png"];
}
else{
cell.resultsIcon.image = nil;
}
cell.resultsName.text = resultsName;
return cell;
}
とHERESに、このビューコントローラ
#import <UIKit/UIKit.h>
#import "Store.h"
#import "flags.h"
#import "Tribes.h"
#import "resultsViewCell.h"
@interface GamePlayViewController : UIViewController <UITableViewDataSource,UITableViewDelegate>{
NSMutableArray *questionsArray;
NSMutableArray *answersArray;
NSInteger gameSelected;
NSMutableArray *revealArray;
NSTimer *questionTimer;
BOOL GameInProgress;
int random;
int questionTimerCounter;
int loopCounter;
int runningScore;
}
@property (weak, nonatomic) IBOutlet UIImageView *questionImage;
@property (weak, nonatomic) IBOutlet UILabel *answerLabel1;
@property (weak, nonatomic) IBOutlet UILabel *answerLabel2;
@property (weak, nonatomic) IBOutlet UILabel *answerLabel3;
- (IBAction)answer1:(id)sender;
- (IBAction)answer2:(id)sender;
- (IBAction)answer3:(id)sender;
@property (weak, nonatomic) IBOutlet UIImageView *cover1;
@property (weak, nonatomic) IBOutlet UIImageView *cover2;
@property (weak, nonatomic) IBOutlet UIImageView *cover3;
@property (weak, nonatomic) IBOutlet UIImageView *cover4;
@property (weak, nonatomic) IBOutlet UIImageView *cover5;
@property (weak, nonatomic) IBOutlet UIImageView *cover6;
@property (weak, nonatomic) IBOutlet UIImageView *cover7;
@property (weak, nonatomic) IBOutlet UIImageView *cover8;
@property (weak, nonatomic) IBOutlet UIView *coreView;
@property (weak, nonatomic) IBOutlet UILabel *resultsLabel;
@property (strong, nonatomic) IBOutlet UITableView *resultsTable;
@property (weak, nonatomic) IBOutlet UIView *resultsView;
@end
ための.h私はこのエラーを取得する「 'NSInvalidArgumentException'、理由によりキャッチされない例外にアプリを終了:「 - [UITableViewCellのresultsIcon]:インスタンスに送信されたセレクタが認識されない " 処理方法がわかりません。あなたが私に提供できる助けや指導のために、事前に感謝します。あなたが提供する上でのコードに基づいて、ええオハイオ州相続人resultsViewCell.h
@interface resultsViewCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UIImageView *resultsFlag;
@property (strong, nonatomic) IBOutlet UILabel *resultsName;
@property (strong, nonatomic) IBOutlet UIImageView *resultsIcon;
@end
これらの 'resultsTable.delegate = self;'と 'resultsTable.dataSource = self;'は 'viewDidLoad'にあるべきだと思います。また、あなたのセルにカスタムクラスとカスタム.xibがある場合、それを登録する必要があります。どちらも真でない場合は、データをNSLogで調べて、何かが含まれているかどうかを確認してください。 – Tj3n
デリゲートとデータソースをロードするときにUIViewをテーブルにロードしています。配列からのデータまではログに記録されており、実際にデータをロードする準備ができていることが表示されますが、セルロード中に何か不足していると仮定しています。 – JoeShmoe
カスタムセルクラスとカスタムxibがありますか?そうでなければ、あなたのtableViewがNSLogによってnilでないことを確認してから、dataSourceとdelegateを設定してください。 – Tj3n