0

ビューの 1 つにテーブルがあり、そのテーブルを使用してユーザーがデータを入力できるようにしたいと考えています。これを行うために、完全に機能するカスタム UITableViewCell を作成しました。

各セルからテキストを取得しようとしたときに問題が発生しました。すべてのドキュメントに目を通しましたが、解決策が見つかりません。どんな助けでも大歓迎です!

このメソッドのコードは次のとおりです。

    Subject *subject = [self.arrayOfSubjects objectAtIndex:i];

    AddSubjectDetailsCell *cell;
    NSIndexPath *indexPath = [[NSIndexPath alloc] initWithIndex:i];
    cell = [tableView cellForRowAtIndexPath:indexPath];

    subject.title = cell.subjectTitleField.text;
    subject.room = cell.subjectRoomField.text;
    subject.teacher = cell.subjectTeacherField.text;

通常のセルをカスタムセルに変換する方法、またはテキストフィールドからテキストを抽出する別の方法を持っている人はいますか?

ありがとう!

4

2 に答える 2

1

すでに back のインスタンスを取得しています。AddSubjectDetailsCell親型として型付けされて返されているだけUITableViewCellですUITableView。あなたがしなければならないのは、次のような特定のタイプにキャストすることだけです:

AddSubjectDetailsCell *cell;
NSIndexPath *indexPath = [[NSIndexPath alloc] initWithIndex:i];
cell = (AddSubjectDetailsCell *)[tableView cellForRowAtIndexPath:indexPath];
于 2013-07-11T14:25:50.160 に答える
0

@Timothyの答えは解決策かもしれませんが、インスタンス化時にモデルオブジェクトをカスタムセルセルにリンクしてみませんか?

最後に UI をクエリする代わりに、セルの実装でモデルを更新できます

私は間違いなく、Subject各セルに対応する弱い参照を追加し、セルユーザーのアクションでそれを更新します。

カプセル化されていなくても、このようなデザイン: http://eppz.eu/blog/custom-uitableview-cell/

于 2013-07-11T15:10:52.063 に答える