Невозможно преобразовать значение типа 'AnyClass' - PullRequest
0 голосов
/ 28 ноября 2018

У меня проблема с ошибкой в ​​приведенном ниже коде.

Ошибка: невозможно преобразовать значение типа 'AnyClass' (он же 'AnyObject.Type') в ожидаемый тип аргумента '[AnyClass]'(он же' Array ')

Код:

func receivedData( data: Data, from peer: MCPeerID) {

    if let unarchived = try? NSKeyedUnarchiver.unarchivedObject(ofClasses: ARWorldMap.classForKeyedArchiver()!, from: data), // error is here

       let worldMap = unarchived as? ARWorldMap {
        showAlert()
        // Run the session with the received world map.
        let configuration = ARWorldTrackingConfiguration()
        configuration.planeDetection = .horizontal
        configuration.initialWorldMap = worldMap
        sceneView.session.run(configuration, options: [.resetTracking, .removeExistingAnchors])

        // Remember who provided the map for showing UI feedback.
        mapProvider = peer
    }
    else
        if let unarchived = try? NSKeyedUnarchiver.unarchivedObject(ofClasses: ARAnchor.classForKeyedUnarchiver()!, from: data), // and here
            let anchor = unarchived as? ARAnchor {

            sceneView.session.add(anchor: anchor)
            let node = loadObject()
            node.position = SCNVector3.positionFromTransform(anchor.transform)
            sceneView.scene.rootNode.addChildNode(node)
        }
        else {
            print("unknown data recieved from \(peer)")
    }
}
...