2010-10-01 27 views
5

Tôi đã đính kèm một màn hình đổ để làm cho mọi thứ dễ dàng hơn để làm theo.iPhone, tại sao UITableView reloadData không hoạt động?

Tôi đã đính kèm các cửa hàng của mình cho nguồn dữ liệu và ủy quyền và tôi đã tạo một lối thoát cho chế độ xem bảng của mình, nhưng việc tải lạiData không hoạt động?

Lý tưởng nhất là tôi chỉ muốn gọi reloadData sau khi lượt xem đã được tải một lần?

alt text

Trả lời

6

Tạo một tài sản cho UITableView của bạn và sử dụng tài sản như IBOutlet của bạn, bằng cách sử dụng Ivar trực tiếp không phải là cách để làm điều đó. Hook những thứ lên một lần nữa và gỡ lỗi nó, để xem nếu UITableView của bạn không phải là không.

Đặt điểm ngắt trong phương pháp nguồn dữ liệu UITableView để xem liệu chúng có được gọi hay không, nếu đúng, hãy kiểm tra xem transactionArray của bạn có chứa các mục hay không.

Nếu cách này không hiệu quả, bạn sẽ phải cung cấp thêm thông tin như phương thức nào đang được gọi và nhiều mã hơn.

+0

Kiểm tra xem mảng của bạn có chứa dữ liệu mới/cập nhật khi tải lại dữ liệu được gọi hay không. –

+0

Tôi đã thực hiện một số gỡ lỗi, mảng được cập nhật nhưng cellForRowAtIndexPath không được gọi, khi quay lại chế độ xem. Như tôi đã nói, nó chạy lần đầu tiên khi khung nhìn được tải, nhưng không phải sau đó. – Jules

+0

Bạn sẽ phải đăng đoạn mã để chúng tôi có thể xem. –

2

Nếu chế độ xem chính của UITableViewController là chế độ xem bảng, bạn có thể tránh sử dụng IBOutlets và sử dụng trực tiếp thuộc tính tableView của trình điều khiển của bạn. Như thế này:

[self.tableView reloadData];

+0

Ok, tôi đã thay đổi thành self.tableview, tôi để lại poperty, outlet tại chỗ, tôi có cần móc cái gì khác lên trong IB không? cũng nhìn vào các ví dụ tôi đã nhìn thấy các nguồn dữ liệu và đại biểu dường như không được nối, như thể hiện trong màn hình dump, tôi đã nối chúng lên. – Jules

+0

Nhìn vào ảnh chụp màn hình của bạn một lần nữa tôi thấy rằng bạn có một UITableView bên trong một UIView chung. Điều này có thể gây ra sự cố. Tôi đề nghị bạn làm cho bộ điều khiển của bạn một UIViewController chung mà thực hiện TableViewDelegates. Cửa sổ xem nên được đặt thành UIView chính và (như bạn đã làm) một lối thoát phải trỏ đến UITableView của bạn. Đặt lại các cổng tham chiếu đến bộ điều khiển của bạn và thử lại. – MaxFish

+0

Nếu hàng mới được thêm vào thì tableView đang được tải lại, hãy chắc chắn rằng dữ liệu chính xác bị cheng sau khi chỉnh sửa. – MaxFish

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