2009-03-19 28 views
45

Tôi có một câu hỏi - làm thế nào tôi có thể nhận được một số hàng được chọn trong một bảng? Tôi đang gán nó theo cách thủ công cho một biến. Vấn đề là nếu một hàng đã được bỏ chọn, biến của tôi vẫn giữ giá trị cũ.UITableView - hàng nào được chọn?

Tôi có thể làm gì với ứng dụng này? Có một phương pháp trong UITableView trả về một số hàng hiện đang được chọn không?

Cảm ơn bạn trước, Ilya.

Trả lời

109

Nếu bạn đã không được thực hiện một đại biểu (xem nduplessis), UITableView cũng cung cấp:

- (NSIndexPath *)indexPathForSelectedRow 
+0

Cảm ơn bạn, Jarret, mà là những gì tôi cần. Bây giờ mọi thứ đang hoạt động hoàn hảo. –

+10

Và đối với bất kỳ ai tìm kiếm phiên bản lựa chọn nhiều, nó là '- (NSArray *) indexPathsForSelectedRows' –

+1

Vấn đề với phương pháp này là bất cứ khi nào nó được gọi, ngay cả khi người dùng không chọn bất cứ thứ gì, nó trả lại 0, – redDragonzz

36

Các UITableViewDelegate sẽ gọi

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

khi liên tiếp được chọn. Từ đó bạn có thể dễ dàng xác định hàng bằng cách sử dụng indexPath.section và indexPath.row

Các vấn đề liên quan