Tôi đã gặp phải một lỗi thực sự khó hiểu. đầu tiên hàng của UITableView của tôi trả về và giây một trả về trong indexPath! Làm sao nó có thể xảy ra?didSelectRowAtIndexPath trả về sai IndexPath
Trong chế độ xem `- (void) viewDidLoad` của tôi vẫn ổn. Tôi đang tô sáng hàng đầu tiên thành công với
currentRow = 0;
[tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:currentRow inSection:0]
animated:NO scrollPosition:UITableViewScrollPositionNone];
Tôi có biến số currentRow
để theo dõi hàng nào được chọn (một điều khiển khác thay đổi theo tùy chọn nào hiện được chọn).
Bây giờ trong `chức năng đại biểu didDeselectRowAtIndexPath` của tôi, tôi có:
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
...
NSLog(@"IndexPath: %@", [indexPath description]);
}
Nhật ký cho thấy như sau:
IndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 0]
khi tôi chạm vào thứ hai hàng , và IndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 1]
khi tôi chạm vào đầu tiên hàng.
Không có chèn hoặc xóa hàng, v.v., thậm chí không cuộn. Nó là một UITableView đơn giản, phong cách nhóm, với 1 phần và 3 hàng. Điều gì có thể gây ra điều này?
Nhờ sự giúp đỡ của bạn,
S
Heh - Tôi đã bỏ lỡ điều đó khi tôi tự mình đọc câu hỏi. :-) Nó giống như thiếu từ "the" khi nó được sử dụng hai lần. ;-) –
Tôi cũng đã làm điều này. Bực bội như thế nào. Intellisense là tuyệt vời 99,9% thời gian nhưng khác .1% ... wow. – swilliams
Tôi chỉ mất vài giờ để tìm ra iOS đã gọi cho tôi bằng hàng mà tôi đã chọn trước đây. Tôi đã thử mọi thứ. Thật tuyệt vời khi một vài chữ cái khác biệt. Bí ẩn được giải quyết. –