UITableView のセルをループするにはどうすればいいですか? 質問する

UITableView のセルをループするにはどうすればいいですか? 質問する

n 個のセクション (既知の量) と各セクションに X 行 (未知の量) があります。各行には UITextField があります。ユーザーが [完了] ボタンをタップすると、各セルを反復処理し、UITextField を使用していくつかの条件付きテストを実行します。テストに合格すると、各セルのデータがデータベースに書き込まれます。合格しない場合は、UIAlert が表示されます。行をループする最適な方法は何ですか。また、これに対するよりエレガントな解決策がある場合は、アドバイスをお願いします。

ベストアンサー1

表示されているセルのみを反復処理したい場合は、

NSArray *cells = [tableView visibleCells];

テーブル ビューのすべてのセルが必要な場合は、次のようにします。

NSMutableArray *cells = [[NSMutableArray alloc] init];
for (NSInteger j = 0; j < [tableView numberOfSections]; ++j)
{
    for (NSInteger i = 0; i < [tableView numberOfRowsInSection:j]; ++i)
    {
        [cells addObject:[tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:j]]];
    }
}

これですべてのセルを反復処理できます
:(カスタムテーブルビューセルは、プロパティを含むクラスですテキストフィールドタイプのUIテキストフィールド

for (CustomTableViewCell *cell in cells)
{
    UITextField *textField = [cell textField];
    NSLog(@"%@"; [textField text]);
}

おすすめ記事