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

Xcode 7 - Странная ошибка при запуске, которая ссылается на XCUIElement

Я обновил свой код до XCode 7 и Swift 2.0, теперь некоторые из моих тестов терпят неудачу, и я вижу список из 40 предупреждений в сборке Test, которые полностью не связаны с кодом, на который они ссылаются. Предупреждающее сообщение:

"Cast From 'XCUIElement' to unrelated type 'String' always fails" 

И это пример строки, которая выдает предупреждение:

if let protocolStr = JSON["version"] as? String{

Я еще не использую тесты пользовательского интерфейса XC... поэтому я не могу понять, почему этот код относится к этому классу. Есть идеи?

Обновление: 9 ноября С XCode 7.1 проблема все еще существует.

4b9b3361

Ответ 1

С Xcode 7.1.1 Не исправлено, но это обходное решение помогло мне:

if let protocolStr = JSON["version"] as AnyObject as! String {

Ответ 2

Я думаю, что вы уже исправили свою проблему, но в случае, если кто-то еще смотрит на это:

Проблема в том, что JSON имеет тип AnyObject, я предполагаю, что он не знает, что вы можете индексировать его как словарь. Если вы передадите его как [String: AnyObject] перед раздачей, это не даст вам ошибки. (как вы заметили)

edit: Что касается того, почему это дает вам эту ошибку, я не уверен. Вероятно, ошибка.

Ответ 3

Все, что мне нужно было сделать, это ввести ключевую строку ( "версия" ) на NSString так:

if let protocolStr = JSON["version" as NSString] as? String {
    …
}

Ответ 4

Xcode 7.2, быстрый 2.2

Попробуйте это

if let protocolStr = JSON.valueForKey("version") as? String{
     //your code
}