2011-11-20 46 views
12

Tôi đang làm việc để điền vào chế độ xem bảng với một loạt các từ điển. Nội dung của các mảng và từ điển được phân tích cú pháp mà không có vấn đề gì. Tuy nhiên, bảng được điền với số lượng ô [mảng đếm] với nội dung có chỉ số 0 của mảng. Dường như với tôi rằng indexPath.row trả về 0 cho tất cả các ô. Làm cách nào để điền vào mỗi ô có chỉ mục tương ứng?indexPath.row luôn là 0

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *CellIdentifier = @"Cell"; 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
} 


// Configure the cell... 
NSDictionary *term = [self.terms objectAtIndex:indexPath.row]; 
cell.textLabel.text = [term objectForKey:@"content"]; 
cell.detailTextLabel.text = [term objectForKey:@"created"]; 

return cell; 
} 

Cảm ơn rất nhiều!

Edit: Đây là những gì tôi đã cho khai thác gỗ indexPath

2011-11-21 03: 07: 58,025 Demo [21.269: f803] 2 chỉ số [0, 0]

2011-11 -21 03: 07: 58,027 Demo [21.269: f803] 2 chỉ số [1, 0]

có vẻ như chỉ số đầu tiên được cập nhật trong khi thứ hai thì không.

Khi tôi đăng nhập indexPath.row, tuy nhiên

2011-11-21 03: 19: 40,306 Demo [21.546: f803] 0

2011-11-21 03: 19: 40,308 Demo [21546: f803] 0

Vì vậy, tôi nên sử dụng những gì để tăng giá trị?

Cảm ơn bạn đã trợ giúp lần nữa.

+2

sử dụng 'indexPath.section' –

Trả lời

36

Khối mã đó trông có vẻ tốt. Có lẽ tableview của bạn có nhiều phần với một hàng mỗi? Bạn đang quay trở lại phương thức nguồn dữ liệu nào tableView:numberOfRowsInSection: (phải là [self.terms count] ) và numberOfSectionsInTableView: (phải là 1).

Nếu những thông tin này là OK, hãy đặt NSLog(@"%@",indexPath); ở đâu đó trong phương pháp và đăng kết quả vào câu hỏi của bạn.

+0

Đây là những gì tôi đã cho khai thác gỗ indexPath: 2011/11/21 03: 07: 58,025 Demo [21.269: f803] 2 chỉ số [0, 0] 2011/11/21 03 : 07: 58.027 Demo [21269: f803] 2 chỉ mục [1, 0] Tôi chỉ có một phần trong bảng của mình và tôi trả lại giá trị đúng cho 'tableView: numberOfRowsInSection:' và 'numberOfSectionsInTableView:' –

+3

@SimonLee - Việc ghi nhật ký bạn đang thấy nói rằng chế độ xem bảng đang yêu cầu phần 0, hàng 0, sau đó là phần 1, hàng 0. Vì vậy, tôi không nghĩ rằng bạn có triển khai đúng cho các phương pháp hàng và phần của mình - bạn có thể bao gồm các mục đó không câu hỏi? – jrturton

+4

@jrturton Cảm ơn những người đứng đầu! Hóa ra tôi đã triển khai các hàng trong các phần và các phần theo hàng. Mọi thứ hoạt động tốt sau khi tôi chuyển chúng. Sai lầm ngu ngốc! –

11

Tôi vừa gặp sự cố tương tự (indexPath.row luôn là 0) và nhận thấy có bao nhiêu thằng ngốc. Trong số numberOfSectionsInTableView của tôi, tôi đã trả lại số [dataSet count] và trong số tableView:numberOfRowsInSection Tôi đã quay lại 1. Phải là cách khác. Rất tiếc!

+0

Tôi cũng vậy ... đây là lol !!! – Dmitry

+0

Không phải là thằng ngốc duy nhất xung quanh :). Cảm ơn –

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