我创建了一个自定义的tableViewCell,并用数据填充它。数据在模拟器中显示正常,但不会在设备上填充。以下是我的代码。感谢您提前提供任何帮助,这个真的很吸引我。
viewDidLoad中:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self initColors];
[self initDB];
[self.pointsTableView reloadData ];
}
numberOfSections / RowsInSection:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [[self.dealNameCountDict allKeys]count];
}
的cellForRowAtIndexPath:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
ProfileTableViewCell *cell = (ProfileTableViewCell*)[tableView dequeueReusableCellWithIdentifier:@"ProfileTableViewCell" forIndexPath:indexPath];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"ProfileTableViewCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
}
// Configure the cell...
NSArray<NSString*> *keys = [self.dealNameCountDict allKeys];
NSString *k = [keys objectAtIndex:indexPath.row];
// should be a dictionary for businessNameLabel
cell.textLabel.text = k;
cell.detailTextLabel.text = [[self.dealNameCountDict objectForKey:k] stringValue];
return cell;
}
答案 0 :(得分:1)
重新加载表格视图后,您可能正在填充字典。该设备的运行速度通常比模拟器快一点 - 因此,如果您获取数据异常,可能就是原因。
尝试在字典的setter中重新加载表格视图。
- (void)setMyDictionary:(NSDictionary*)myDictionary {
_myDictionary = myDictionary;
[table reloadData];
}
答案 1 :(得分:0)
原来还有另一个文件本地函数,它在创建表之后和调用dealNameCountDict
之后初始化viewDidLoad
。我刚刚添加了
[self.pointsTableView reloadData ];
到该函数的结尾,这似乎解决了异步问题。