Trong Swift bạn có thể làm: như @Gaurav Singh gợi ý trong câu trả lời của ông
Bước 1: Chèn một segue từ ViewControllerA vào ViewControllerB. Các segue nên bắt đầu từ ViewControllerA chính nó và không phải từ bất kỳ điều khiển (như Button) trong đó.
Bước 2: Cho segue một số nhận dạng duy nhất trong bảng phân cảnh. Ví dụ: seageFromAtoB
Bước 3: Trong ViewControllerforA của bạn.nhanh chóng ghi:
if(condition == true) {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
Nếu bạn đang thực hiện một số nhiệm vụ trong một số khác Thread
sau đó sử dụng performSegueWithIdentifier
có thể ném một ngoại lệ.
Nếu bạn nhận được lỗi này thì bạn nên sử dụng:
if(condition==true){
NSOperationQueue.mainQueue().addOperationWithBlock {
self.performSegueWithIdentifier("seageFromAtoB", sender: self)
}
}
này sẽ thực hiện chuyển hướng segue trong chính Thread
.
Hope trợ giúp này cho ai đó tìm kiếm Swift lựa chọn
Nó làm việc ngươi đối với tôi, tôi đã làm một segue conditionall từ một UITableViewCell, bởi vì một số tế bào có hiển thị một số quan điểm và các tế bào khác khác ... Vấn đề là rằng khi tôi trở lại từ segue đẩy nó đã bị mất tập trung và thiết lập lại xem, nó sẽ không trở lại tế bào mà bắt đầu hành động. Tôi có một tableview với một điều khiển phân đoạn trên đầu trang mà thay đổi giữa 2 datasources. Nếu tôi segue từ một uitableviewcell với chỉ số thứ hai của kiểm soát phân đoạn được lựa chọn, khi tôi trở lại từ segue, nó bắt đầu xem với chỉ số 1rst tại kiểm soát phân đoạn ... – fguespe
@fguespe Bạn có yêu cầu một giải pháp cho vấn đề hoặc là một bình luận chung. –
có, tôi cần một giải pháp, nhưng tôi nâng cao một chút và tôi hiểu không phải là lỗi của segue có điều kiện. cho các phân đoạn bình thường xảy ra. Vấn đề là điều khiển phân đoạn tìm kiếm chỉ mục khi nó trở lại nhưng nó cho thấy dữ liệu phân đoạn đầu tiên. – fguespe