大家好我有以下代码:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
static NSString *LocationHeaderCellIdentifier = @"Location Header Cell";
LocationHeaderCell *locationHeaderCell;
locationHeaderCell = (LocationHeaderCell *)[tableView dequeueReusableCellWithIdentifier:LocationHeaderCellIdentifier];
locationHeaderCell.lblCurrentAddress.text = self.currentAddress;
return locationHeaderCell;
}
你们可以看到,我正在使用原型单元作为我的标题。
我想要完成的是在didUpdateLocation委托中访问此标头以更改标签(刷新它)。我不想使用[reload data]
,因为我收到来自不同Web服务器的两个不同的响应。一个来自Parse,另一个来自Apple。因此,我不知道哪一个会先来。
我尝试检索标题视图,然后打印Null。
有什么建议吗?
答案 0 :(得分:0)
您可以在属性中保留对此LocationHeaderCell
的引用,例如:
@property(nonatomic, strong) LocationHeaderCell *myHeader;
并修改你的代码:
if (self.myHeader==nil)
self.myHeader = (LocationHeaderCell *)[tableView dequeueReusableCellWithIdentifier:LocationHeaderCellIdentifier];
所以在didUpdateLocation
中只需执行self.myHeader.lblCurrentAddress.text = @whatever";