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]);
}