我在視圖控制器中有一個UITableView。表視圖使用名爲UserFavoritesCell的自定義單元格。當引用代碼這個小區,我得到以下警告:與自定義UITableViewCell不兼容的指針類型警告
Incompatible pointer types initializing UserFavoritesCell with an expression of UITableViewCell.
由於UserFavoritesCell是的UITableViewCell的子類,我不知道爲什麼我收到此警告。有任何想法嗎?謝謝!
頁眉:
@interface UserFavoriteCell : UITableViewCell
// properties...
@end
實現:
@implementation UserFavoriteCell
@synthesize lblFlow, lblHeight, lblLastUpdate, lblMainTitle, gaugeID;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
在我的視圖控制器我正在上UserFavoriteCell實例化的警告如下:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
UserFavoriteCell *cell = [tableView cellForRowAtIndexPath:indexPath]; // warning
GaugeViewController *gvc = [[GaugeViewController alloc] init];
[gvc setGaugeID:[cell gaugeID]];
[self performSegueWithIdentifier:@"sgDetailFave" sender:self];
}
爲什麼你使用這個單元並且你沒有使用實際的數據源來獲取gaugeID?這種方法實際上會重新創建或從隊列中調用單元格,以檢索數據中已存在的屬性,我猜測? – Astri