Tôi nhận được hai khoảng cách dẫn đến cùng một số viewController
. Có 2 nút được kết nối với cùng một viewController
sử dụng 2 phân đoạn. Trong đó viewController
Tôi cần kiểm tra xem nút nào đã được nhấp. Vì vậy, thực sự tôi cần phải kiểm tra segue đã được sử dụng/preformed. Làm thế nào tôi có thể kiểm tra điều này trong lớp viewControllers? Tôi biết có phương pháp prepareForSegue
, nhưng tôi không thể sử dụng nó cho mục đích của mình vì tôi cần đặt prepareForSegue
trong lớp nơi có 2 nút và tôi không muốn ở đó nhưng tôi muốn nó ở lớp viewControllers
vì tôi cần truy cập và thiết lập một số biến trong lớp đó.Cách kiểm tra xem segue nào đã được sử dụng
8
A
Trả lời
8
Bạn cần phải thiết lập một biến bộ điều khiển xem thứ hai trong phương thức prepforsegue của phương thức đầu tiên. Đây là cách thực hiện:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:segueIdentifier1])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
if(sender.tag == ...) // You can of course use something other than tag to identify the button
{
secondVC.identifyingProperty = ...
}
else if(sender.tag == ...)
{
secondVC.identifyingProperty = ...
}
}
}
Sau đó, bạn có thể kiểm tra thuộc tính đó trong vc thứ hai để hiểu cách bạn đến đó. Nếu bạn đã tạo 2 phân đoạn trong bảng phân cảnh cho 2 nút, thì chỉ định danh phân biệt là đủ để đặt giá trị thuộc tính tương ứng. Sau đó, mã sẽ chuyển thành điều này:
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:segueIdentifier1])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
secondVC.identifyingProperty = ...
}
else if([segue.identifier isEqualToString:segueIdentifier2])
{
SecondViewController *secondVC = (SecondViewController *)segue.destinationViewController;
secondVC.identifyingProperty = ...
}
}
2
Trước tiên, bạn cần đặt mã định danh segues của mình trực tiếp trong storyborads hoặc thông qua mã của bạn bằng cách sử dụng phương thức performSegueWithIdentifier
. độc lập theo cách bạn chọn lựa, bộ điều khiển tầm nhìn của bạn sẽ cháy các phương pháp sau đây, vì vậy bạn cần phải ghi đè nó để biết được segue
được gửi tin nhắn, bạn làm như thế này:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"ButtonSegueIdentifierOne"]) {
// button 1
}
if ([segue.identifier isEqualToString:@"ButtonSegueIdentifierTwo"]) {
// button 2
}
}
Các vấn đề liên quan
- 1. Cách kiểm tra xem WaitHandle đã được đặt chưa?
- 2. JavaScript - cách kiểm tra xem sự kiện đã được thêm
- 3. Kiểm tra nếu hộp kiểm đã được kiểm tra trên tải sử dụng jQuery
- 4. Kiểm tra xem bộ đệm đã được xả trong R
- 5. Kiểm tra xem tệp javascript đã được tải
- 6. Sử dụng Segue theo cách thủ công
- 7. Cách kiểm tra xem JCheckBox có được kiểm tra không?
- 8. Kiểm tra xem hằng số đã được xác định chưa
- 9. kiểm tra xem biến môi trường đã được thiết lập
- 10. Cách kiểm tra xem một kiểu đã được áp dụng trong Selenium IDE
- 11. kiểm tra xem phần tử đã được cuộn lên đầu
- 12. Làm cách nào để kiểm tra xem máy quét đã được cắm chưa (C#, .NET TWAIN)
- 13. Làm cách nào để kiểm tra xem thiết bị USB đã được cắm chưa?
- 14. Cách kiểm tra xem tài liệu đã sẵn sàng chưa?
- 15. Kiểm tra xem tệp đã bị khóa bằng cách sử dụng đàn() không?
- 16. Làm cách nào để kiểm tra xem biến đã được khởi tạo chưa
- 17. Cách đếm số hộp kiểm đã được kiểm tra
- 18. Kiểm tra xem e-mail đã được nhập đúng chưa
- 19. Làm cách nào để kiểm tra xem CGPoint đã được khởi tạo chưa?
- 20. Làm thế nào để kiểm tra xem một nút được nhấp bằng cách sử dụng JavaScript
- 21. kiểm tra xem hộp kiểm có được chọn hay không bằng cách sử dụng jquery
- 22. Cách kiểm tra Backbone.history đã được bắt đầu chưa?
- 23. Làm cách nào để kiểm tra xem Trình tạo sự kiện JavaScript đã được đặt?
- 24. Làm cách nào để kiểm tra xem session_start đã được nhập chưa?
- 25. Làm cách nào để kiểm tra xem một sự kiện đã được đăng ký, trong .NET?
- 26. Làm cách nào để kiểm tra xem biến Smarty đã được gán chưa?
- 27. Làm cách nào để kiểm tra xem mô-đun Perl đã được cài đặt chưa?
- 28. Python - Cách kiểm tra xem tệp có được ứng dụng khác sử dụng không?
- 29. Làm thế nào để kiểm tra xem một bộ điều khiển xem có thể thực hiện một segue
- 30. Kiểm tra xem tệp có đang được sử dụng hay ứng dụng nào không?
Tôi đã làm điều đó, nhưng khi tôi đặt điều này: PageScrollViewController * controller = (PageScrollViewController *) segue.destinationViewController; controller.startStory = YES; ứng dụng bị treo – nonuma
*** Chấm dứt ứng dụng do ngoại lệ chưa nắm bắt 'NSInvalidArgumentException', lý do: '- [UIViewController setStartStory:]: bộ chọn không được nhận dạng được gửi tới trường hợp 0x9976420' *** Lệnh gọi đầu tiên: – nonuma
Phần lạ là lỗi nói somethiing về "setStartStory" nhưng tôi không bao giờ sử dụng này? Tôi sử dụng startStory – nonuma