0

SELECT次の方法でクエリ結果を読み込んtableViewでいますが、互換性のないポインター型についての警告が表示されます。

以下の私のコードの間違いは何ですか?

事前にご提案いただきありがとうございます

-(UITableView *)tableview : (UITableView *)tableview cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"cell";
    UITableViewCell *cell = [tableview dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) 
        cell = [[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:CellIdentifier];
       NSInteger locationRow = indexPath.row;
        cell.textLabel.text = [appDelegate.nameArray objectAtIndex:locationRow];
     return cell; // error comes here


}
4

5 に答える 5

2

関数の戻り値の型が間違っています。それは返されるべきではUITableViewCell*ありませんUITableView*

-(UITableViewCell*)tableview:(UITableView *)tableview cellForRowAtIndexPath: (NSIndexPath *)indexPath;

それが役立つことを願っています!

于 2013-09-12T12:27:53.787 に答える
1

戻り値の型を指定していますUITableViewが、期待どおりでUITableViewCellあるため、以下のように変更する必要があります

-(UITableViewCell *)tableview : (UITableView *)tableview cellForRowAtIndexPath: (NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"セル";
    UITableViewCell *cell = [tableview dequeueReusableCellWithIdentifier:CellIdentifier];
    もし (セル == ゼロ)
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    NSInteger locationRow = indexPath.row;
    cell.textLabel.text = [appDelegate.nameArray objectAtIndex:locationRow];
    セルを返します。
}
于 2013-09-12T12:28:54.377 に答える
0

私はまだこの警告を受けています。サードパーティのツールとして HVtable を使用しています

-(TableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath isExpanded:(BOOL)isExpanded {

static NSString *CellIdentifier = @"MYCELLUP";

UpcomingTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
cell.selectionStyle = UITableViewCellSelectionStyleNone;


NSArray *cellSubs = cell.contentView.subviews;
if (isExpanded){
    [self tableView:tbView expandCell:cell withIndexPath:indexPath];
}
else{
    [self removeExpendedContent:cellSubs];

}

 if(ary_up_trp_typ.count >= 1){

    cell.img_blk_plane.image = [UIImage imageNamed:@"page4_09.png"];
    cell.img_day.image = [UIImage imageNamed:@"page4_09.png"];


    cell.lbl_up_trp_typ.text = [ary_up_trp_typ objectAtIndex:indexPath.row];
    cell.lbl_up_dt_to_frm.text = [ary_up_dt_to_frm objectAtIndex:indexPath.row];
    cell.lbl_up_ct_st.text = [ary_up_ct_st objectAtIndex:indexPath.row];
    cell.lbl_up_day.text = [ary_up_day objectAtIndex:indexPath.row];

}

return cell;

}

于 2015-07-03T04:29:16.290 に答える
0

cellForRowAtIndexPath メソッド内にセルを作成せず、代わりに次のコードを使用して、より簡単に行うことができます。

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.table registerNib:[UINib nibWithNibName:@"MyCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"MyCellIdentifier"];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *cellIdentifier = @"MyCellIdentifier";
    MyCell *cell = (MyCell*)[self.table dequeueReusableCellWithIdentifier:cellIdentifier forIndexPath:indexPath];

    // Setup cell here

    return cell;
}
于 2013-09-12T12:32:44.160 に答える