tôi trình bày quan điểm phương thức mà là một bộ điều khiển chuyển hướng:dismissViewControllerAnimated kết quả trong màn hình trống
UINavigationController *nvc = [[UINavigationController alloc] initWithRootViewController:photoEditVC];
[self presentViewController:nvc animated:YES completion:NULL];
Khi tôi đang thực hiện với quan điểm phương thức, bên trong bộ điều khiển có thể nhìn thấy nvc của:
[self.presentingViewController dismissViewControllerAnimated:YES completion:NULL];
quả
Bất kỳ ý tưởng nào tại sao điều này có thể xảy ra?
CẬP NHẬT: Tôi nhận thấy điều này chỉ xảy ra khi trước khi loại bỏ chế độ xem, tôi cập nhật giá trị trong một lớp đơn chia sẻ, tôi sử dụng để theo dõi các sự kiện.
[[SAStatus current] setValue:@(ua_photoSubmitted) forKeyPath:@"actions.user"];
[self dismissViewControllerAnimated:YES completion:NULL];
Nhưng nó hoạt động tốt nếu tôi làm điều này:
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
[[SAStatus current] setValue:@(ua_photoSubmitted) forKeyPath:@"actions.user"];
}];
hoặc tôi có thể làm điều này và nó cũng hoạt động tốt:
[self dismissViewControllerAnimated:YES completion:^{
[[SAStatus current] setValue:@(ua_photoSubmitted) forKeyPath:@"actions.user"];
}];
Vào thời điểm đó, không có lớp khác quan sát mà biến vì vậy tôi không hiểu tại sao nó sẽ ảnh hưởng đến chế độ xem phương thức.
Thực ra việc bạn gọi nó là tự hay self.presentingViewController thì cả hai đều hoạt động. Dù vấn đề của bạn là gì, đó không phải là mã bạn đã nói mà bạn đã sử dụng. – rdelmar