2016-06-24 8 views
6

मैं GMSMapView का उपयोग करके मानचित्र जोड़ने की कोशिश कर रहा हूं लेकिन जब मैं दृश्य के लिए आउटलेट बना रहा हूं तो मुझे त्रुटियां मिल रही हैं।कमजोर केवल कक्षा और कक्षाबद्ध प्रोटोकॉल प्रकारों पर लागू नहीं किया जा सकता है <<errortype>>

निम्नलिखित कोड का टुकड़ा है:

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 
     } 
    } 
} 

मैं लाइन पर निम्न त्रुटियों हो रही है

@IBOutlet weak var mapVIew: GMSMapView!: 
  1. कमजोर केवल वर्ग और वर्ग-बाउंड प्रोटोकॉल को लागू किया जा सकता है प्रकार <>
  2. अविकसित प्रकार "GMSMapView"
  3. का उपयोग

कृपया कोई मुझे मदद कर सकते हैं

+0

क्या आपने कहानी बोर्ड से उस दृश्य में GMSMapView क्लास असाइन किया है? –

+0

@JigarTarsariya हाँ मेरे पास – PersianBlue

+0

कमजोर निकालें और उस दृश्य का IBOutlet बनाएं –

उत्तर

1

नोट: इस उत्तर को अपडेट करना गलतफहमी से बचने के लिए के रूप में मैं गलत पहले जवाब दे दिया है। त्रुटि

ओर इशारा करते हुए इसके लिए के लिए धन्यवाद @ Inn0vative1 आप MapKit

import MapKit 

आपका ViewController प्रोटोकॉल पुष्टि नहीं की है आयात करने के लिए होगा, CLLocationManagerDelegate प्रोटोकॉल

class MapViewController: UIViewController,CLLocationManagerDelegate { 
} 
+0

यह इस मुद्दे को हल नहीं करता है। Inn0vative1 के उत्तर को देखो। चेतावनी से छुटकारा पाने के लिए आपको 'GoogleMaps आयात' करने की आवश्यकता है। यदि आप GoogleMaps का उपयोग कर रहे हैं तो आपको CLLocationManagerDelegate के बजाय 'एक्सटेंशन MapViewController: GMSMapViewDelegate {...} 'लागू करना चाहिए। –

0

एक इच्छा पुष्टि करें अगर इस समस्या को नियंत्रित करने वाली लाइब्रेरी आयात नहीं की जाती है, तो यह समस्या भी प्राप्त करें।

जैसे।, अगर हम एक PDFView नियंत्रण के लिए एक IBOutlet बनाने के लिए कोशिश कर रहे हैं और क्वार्ट्ज पुस्तकालय आयातित नहीं है, ऐसा गलती से हुआ दिखाई नहीं देता।

8

चिह्नित जवाब इस समस्या का सही जवाब नहीं है। यदि कोई और इसे हिट करता है, तो समस्या यह है कि आवश्यक ढांचा आयात नहीं किया जाता है। इस मामले में GoogleMaps। पर फ़ाइल के शीर्ष

import GoogleMaps 

जोड़ने एक और उदाहरण अगर आप एक MKMapView जोड़ने के बाद त्रुटि मिलती है इस के लिए ठीक है।

@IBOutlet weak var mapView: MKMapView 

इसके लिए आपको MapKit

import MapKit 
0

हाल ही में मैं भी इस समस्या से मुलाकात की आयात करना होगा। मैंने लक्षित सदस्यता --xxxTests अनचेक करके इसे ठीक किया। मेरी फाइल में से एक ने xxxTests लक्ष्य की जांच की।

संबंधित मुद्दे