2012-01-22 12 views
9

Có lẽ tôi đang thiếu một cái gì đó đơn giản. Tôi đã thêm một phân đoạn phương thức từ nút vào bộ điều khiển chế độ xem. Sau đó tôi đã thêm một số bước để chuẩn bịForSegue (và kiểm tra tôi đã đặt tên cho segue một cách chính xác). Tôi đã làm điều này một vài lần khác mà không có vấn đề gì.Segue không gọi preparForSegue

Bây giờ, khi tôi nhấp vào nút, cửa sổ phương thức sẽ mở ra, nhưng chuẩn bịForForegue không kích hoạt. Tôi đã thử đặt một tuyên bố đăng nhập trong preparForSegue trước khi nó thậm chí kiểm tra mô tả của nhãn (do đó về mặt lý thuyết nó nên kích hoạt bất kỳ segue nào). Nhưng tôi không nhận được gì.

Bất kỳ ý tưởng nào?

Trả lời

9

Tôi cũng đã tìm thấy lỗi tân binh mà tôi nghi ngờ. Tôi nhân bản một VC và quên đặt lớp đó thành lớp VC mới của tôi.

+0

Tôi đã làm sai chính xác như vậy! vui! – Armen

+0

Tôi đang nộp đơn như noob [) – WINSergey

0

Nối dây Segue với VC chứ không phải nút. Sau đó, trong trường hợp touchUpInside, đặt

[self performSegueWithIdentifier:@"segueid" sender:nil]; 

tôi hầu như luôn luôn dây các segue lên đến một trong hai VC hoặc một tableviewcell (nếu tôi đang sử dụng TV di động tĩnh)

+2

Tôi chắc chắn điều này sẽ hiệu quả, nhưng điểm phân biệt là làm điều này cho tôi, phải không? Trong tất cả các phân đoạn khác của tôi, nó không cần thiết để làm điều này. –

+0

Bạn là chính xác, nó sẽ làm việc theo cách bạn có nó. Tôi chỉ muốn kiểm soát nhiều hơn một chút. Kiểm tra xem bạn có thực sự có nút có dây (xóa segue và thêm nó trở lại trong việc đảm bảo bạn có nút được chọn trong khung nhìn storyboard trước khi điều khiển kéo đến VC khác. –

13

Kết nối segue từ một nút đến bộ điều khiển tiếp theo là cách chính xác để kết nối nó, chỉ cần nhớ rằng prepareForSegue: được gọi trên VC sở hữu nút không bộ điều khiển đến. Bạn nhận được bộ điều khiển đến bằng cách gọi [segue destinationViewController].

+0

Cảm ơn - nhưng tôi đã kiểm tra và tôi đang gọi preparForSegue trong VC sở hữu nút. –

0

Bạn nên đặt bộ nhận dạng sử dụng lại của ô trước khi segue được gọi. Tôi đã thử nhiều giải pháp như trên và kiểm tra cài đặt VC nhưng không đặt định danh tái sử dụng của ô mẫu thử nghiệm.

Chỉ sau khi tôi đặt cài đặt này thành "Ô", cuối cùng nó cũng hoạt động.