Khi sử dụng UICollectionView, tôi bị lúng túng khi nhận giá trị indexPath
của phương pháp didSelectItemAtIndexPath
.indexPath Giá trị của UICollectionView
Tôi đang sử dụng các dòng mã sau đây trong phương pháp didSelectItemAtIndexPath
:
//FileList is an NSArray of files from the Documents Folder within my app.
//This line gets the indexPath of the selected item and finds the same index in the Array
NSString *selectedItem = [NSString stringWithFormat:@"%@",[FileList objectAtIndex:indexPath.item]];
//Now the selected file name is displayed using NSLog
NSLog(@"Selected File: %@", selectedItem);
Vấn đề là các indexPath luôn trả về 0 (xem dưới đây code) và kết quả là chỉ mục đầu tiên trong FileList NSArray đã từng được chọn.
Tôi đã thử các thông số khác nhau như
indexPath.row
indexPath.item
- và chỉ đơn giản
indexPath
TẤT CẢ các trả về giá trị 0 trong báo cáo NSLog sau:
NSLog(@"index path: %d", indexPath.item); //I also tried indexPath.row here
Có lẽ tôi chỉ định dạng NSString không đúng cách, tuy nhiên tôi không nghĩ đây là trường hợp vì không có cảnh báo và tôi đã thử định dạng nó khác nhau ở những nơi khác.
Tại sao indexPath luôn trả về 0?
Mọi trợ giúp sẽ được đánh giá cao! Cảm ơn!
Vui lòng chỉ cách bạn định dạng chuỗi cho 'NSLog' – dasblinkenlight
' .emem' là thuộc tính thích hợp ở đây, nhưng chức năng này không khác với '.row'. Bạn cần hiển thị nhiều hơn - làm sao bạn biết nó bằng không? FileList là gì? – jrturton
Tôi đã chỉnh sửa câu hỏi và bao gồm cách tôi định dạng chuỗi cho NSLog và tôi đã làm rõ những gì FileList là (vui lòng đọc mã nhận xét) –