1

クラスをサブクラス化しましたがUITableViewCell、一方は機能し、もう一方は機能しません。理由はわかりません。

これは、エラーをスローする関数です。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object {

    NSString *type = [object objectForKey:@"type"];

    static NSString *CellIdentifier1 = @"Cell1";
    static NSString *CellIdentifier2 = @"Cell2";

    if ([type isEqualToString:@"quote"]) {

        QuoteCell *cell = (QuoteCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier1];

        if (cell == nil) {
            cell = [[QuoteCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier1];
        }
        cell.contentText.text = [object objectForKey:self.textKey];
        NSDate *date = object.createdAt;
        cell.datetimeLabel.text = [NSDate stringForDisplayFromDate:date];
        return cell;
    }
    else if([type isEqualToString:@"photo"])
    {
        TestCell *cell = (TestCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier2];

        if (cell == nil) {
            cell = [[TestCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier2];
        }
        return cell;
    }

    return nil;

}

私が理解できない理由で、 のサブクラスの 1 つであるUITableViewCellクラスは、それが?ではなく であるTestCellと言っています。私は2つのクラスをまったく同じものからサブクラス化しましたが、動作し、それが aであり、動作しないと言い、それが a であると言いました。 UIViewUITableViewCellUITableViewCellQuoteCellUITableViewCellTestCellUIView

ここにエラーがあります -

キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: '-[UIView setTableViewStyle:]: 認識されないセレクターがインスタンス 0x96b7b70 に送信されました'

何か案は?

この問題で数時間立ち往生した後、投稿してから 10 分後に解決しました。それは、UITableViewCells の作成方法に関係していました。UITableViewCell を拡張するクラスを作成しており、TestCell.m initWithStyle 関数で MainBundle から nibArray を取得しますが、セルに UIImageView があるため、セル自体のインデックスが実際に変更されるため、ペン先を見つけるためにインデックスを変更する必要がありました。セル自体であった配列内。すでに回答してくださった皆さん、ありがとうございます。

4

1 に答える 1

0

メソッドであるため、例外-[UIView setTableViewStyle:]はありません。そのため、tableView の作成方法を確認することをお勧めします。UITableViewCellsetTableViewStyle:UITableView

于 2013-01-10T08:57:30.193 に答える