Подтвердить что ты не робот

Предупреждение UIAlertView при увольнении

Я создаю предупреждение следующим образом:

let alert = UIAlertView(title: "Network Unavailable",
                      message: "Oh noes!",
                     delegate: nil,
            cancelButtonTitle: "OK")
alert.show()

Прекрасно работает. Однако, когда я нажимаю кнопку "ОК", чтобы отменить предупреждение, я получаю следующее:

Предупреждение. Попытка отклонить из контроллера представления < _UIAlertShimPresentingViewController: 0x16ea2230 > пока выполняется презентация или увольнение!

В некотором контексте:

  • Предупреждение создается в функции doMoveToView (view: SKView!) SKScene.
  • Это в Xcode 6 beta 3.
  • мой пример быстрый, но это также происходит из Objective-C

Любые идеи, почему это предупреждение может возникнуть? Я не хочу игнорировать его, если он превратится в фатальную ошибку в будущей версии iOS.

UPDATE

Я также должен добавить, что при появлении предупреждения, когда я выбираю Debug → View Debugging → Capture View Hierarchy, предупреждение не отображается в трехмерном представлении просмотров. Мне интересно, не является ли это симптомом того, что я делаю неправильно.

4b9b3361

Ответ 1

Я получал то же предупреждение:

Предупреждение. Попытка удалить из контроллера представления & lt; _UIAlertShimPresentingViewController:> во время презентации или отклонения!

В iOS8 UIAlertController заменяет UIAlertView. Это должно устранить ваше предупреждение (в Objc):

UIAlertController *alert =
  [UIAlertController alertControllerWithTitle:@"Network Unavailable"
                                      message:@"Oh noes!"
                               preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *cancelAction =
  [UIAlertAction actionWithTitle:@"Ok"   
                           style:UIAlertActionStyleCancel
                         handler:^(UIAlertAction *action) {
                                                        }];
[alert addAction:cancelAction];    
[self presentViewController:alert animated:YES completion:nil];

Для получения дополнительной информации см. документацию для UIAlertController.