web-dev-qa-db-fra.com

faible ne peut être appliqué qu'aux types de protocoles de classe et liés à la classe, pas << errortype >>

J'essaie d'ajouter une carte à l'aide de GMSMapView, mais des erreurs surviennent lorsque je crée un point de vente pour la vue. 

Voici l'extrait de code:

import UIKit
import GoogleMaps

class MapViewController: UIViewController {

    @IBOutlet weak var mapVIew: GMSMapView!
    @IBOutlet weak var mapCenterPinImage: UIImageView!
    @IBOutlet weak var pinImageVerticalConstraint: NSLayoutConstraint!
    var searchedTypes = ["bakery", "bar", "cafe", "grocery_or_supermarket", "restaurant"]
    let locationManager = CLLocationManager()

    override func viewDidLoad() {
        super.viewDidLoad()
        locationManager.delegate = self
        locationManager.requestWhenInUseAuthorization()
    }
    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
        if segue.identifier == "Types Segue" {
            let navigationController = segue.destinationViewController as! UINavigationController
            let controller = navigationController.topViewController as! TypesTableViewController
            controller.selectedTypes = searchedTypes
            controller.delegate = self
        }
    }
}

Je reçois les erreurs suivantes à la ligne 

@IBOutlet weak var mapVIew: GMSMapView!:
  1. faible ne peut être appliqué qu'aux classes et aux types de protocole liés à la classe, mais pas <>
  2. utilisation de type non déclaré "GMSMapView"

S'il vous plaît quelqu'un peut-il m'aider

7
PersianBlue

Remarque: Mettre à jour cette réponse pour éviter tout malentendu, car j'ai déjà répondu par erreur. Merci @ Inn0vative1 pour avoir signalé une erreur

Pour cela, vous devrez importer MapKit

import MapKit

Votre viewController n'a pas confirmé le protocole. Veuillez vous conformer au protocole CLLocationManagerDelegate.

class MapViewController: UIViewController,CLLocationManagerDelegate {
}
3
Rohit KP

La réponse marquée n'est pas la bonne réponse à ce problème. Si quelqu'un d'autre le frappe, le problème est que le cadre requis n'est pas importé. Dans ce cas, GoogleMaps. Pour y remédier, en haut du fichier, ajoutez

import GoogleMaps

Un autre exemple est si vous obtenez l'erreur après avoir ajouté un MkMapView.

@IBOutlet weak var mapView: MKMapView

Pour cela, vous devrez importer MapKit

import MapKit
9
Inn0vative1

Récemment, j'ai également rencontré ce problème. J'ai résolu ce problème en décochant l'adhésion --xxxTests cible. Un de mes fichiers a vérifié la cible xxxTests.

0
Monkey Coding

On aura aussi ce problème si la bibliothèque contenant le contrôle n’est pas importée. 

par exemple, si nous essayons de créer un IBOutlet sur un contrôle PDFView et que la bibliothèque Quartz n’est pas importée, cette erreur s’affiche.

0
user1751240