Ios 线程1:致命错误:隐式展开可选值时意外发现nil,如何修复该错误?请帮帮我

Ios 线程1:致命错误:隐式展开可选值时意外发现nil,如何修复该错误?请帮帮我,ios,swift,xcode,Ios,Swift,Xcode,线程1:致命错误:隐式展开可选值时意外发现nil 这就是我得到的错误,我在:mapView.addAnnotation(annotations)处得到错误。我真的不知道该怎么办。我在swift中使用平板电脑菜单,这是firstviewcontroller。请有人帮帮我。 以下是我编写的代码: import UIKit import MapKit class FirstViewController: UIViewController{ @IBOutlet weak var ma

线程1:致命错误:隐式展开可选值时意外发现nil

这就是我得到的错误,我在:mapView.addAnnotation(annotations)处得到错误。我真的不知道该怎么办。我在swift中使用平板电脑菜单,这是firstviewcontroller。请有人帮帮我。 以下是我编写的代码:

import UIKit
import MapKit

class FirstViewController: UIViewController{
    
    @IBOutlet weak var mapView: MKMapView!
    fileprivate let locationManager:CLLocationManager = CLLocationManager()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // call annotations functions and put in annotationLocations
        createAnnotations(locations: annotationLocations)
        
        locationManager.requestWhenInUseAuthorization()
        locationManager.desiredAccuracy = kCLLocationAccuracyBest
        locationManager.distanceFilter = kCLDistanceFilterNone
        locationManager.startUpdatingLocation()
        
        mapView.showsUserLocation = true
        
    }
    
    // annotations location(s)
    let annotationLocations = [
        ["title": "Esso Kampen, Europa-Allee 4, 8265 VB, Kampen ", "latitude": 52.5429, "longitude": 5.9193],
        ["title": "Esso Kampen, Installatieweg 7-a, 8263 BS, Kampen", "latitude": 52.56830596923828, "longitude":5.879432678222656],
        ["title": "Esso IJsselmuiden, Spoorstraat 10, 8271 RH, IJsselmuiden", "latitude": 52.55617141723633, "longitude":5.931605815887451],
        ["title": "Esso IJsselmuiden, Ondernemersstraat 12, 8271 RS, IJsselmuiden", "latitude":52.554344177246094, "longitude": 5.939723014831543],
        ["title": "Esso Westwal, Westwal 1, 8321 WG, Urk", "latitude":52.6515101, "longitude":5.6190208],
        ["title": "Esso Elburg, Havenkade 2, 8081 GP, Elburg", "latitude":52.450706, "longitude":5.8280084],
        ["title": "Esso Aalst, Maas-waalweg 1, 5308 NS, Aalst", "latitude":51.779178619384766, "longitude":5.141426086425781],
        ["title": "Firezone Aalten, De Driehoek 1, 7122 TL, Aalten", "latitude":51.9280956, "longitude":6.5643974],
        ["title": "Firezone Oldeboarn, Sudkant 15, 8495 KM, Aldeboarn", "latitude":53.046293, "longitude":5.888884],
        ["title": "Esso Alkmaar MLK, Martin Luther Kingweg 51, 1817 MK, Alkmaar", "latitude":52.6446464, "longitude":4.7293343],
        ["title": "Firezone Alkmaar Huiswaarderweg, Huiswaarderweg 2, 1817 JS, Alkmaar", "latitude":52.6458756, "longitude":4.7382983],
        ["title": "Fuwell Alkmaar, Smaragdweg 1, 1812 RJ, Alkmaar", "latitude":52.609012, "longitude":4.756206],
        ["title": "Texaco Alkmaar, Robbenkoog 10, 1822 BB, Alkmaar", "latitude":52.6420575, "longitude":4.7821996],
        ["title": "Esso Almelo HR Holstlaan, H.R. Holstlaan 91, 7609 RC , Almelo", "latitude":52.3281816, "longitude":6.6495139],
        ["title": "Firezone Almelo, Burg. Raveslootsingel 6, 7607 GK, Almelo", "latitude":52.34979, "longitude":6.66009],
        ["title": "Esso Almere, Koningsbeltweg 1, 1329 AA, Almere", "latitude":52.3751158, "longitude":5.2747946],
        ["title": "Esso Almere Markerkant, Markerkant 10/01 , 1316 AA, Almere", "latitude":52.385953, "longitude":5.217036],
        ["title": "Esso Almere Hogering, Audioweg 2, 1322 AV , Almere", "latitude":52.34921, "longitude":5.17451],
        ["title": "Esso Alphen a/d Rijn, Willem de Zwijgerlaan 37, 2406 HD, Alphen a/d Rijn", "latitude":52.19819, "longitude":4.41177],
        ["title": "Esso Amersfoort Hogeweg, Hogeweg 45, 3816 BM, Amersfoort", "latitude":50.87979, "longitude":5.93174],
        ["title": "Esso Amersfoort Neerduist, Rijksweg A1 noordzijde, 3821 CH, Amersfoort", "latitude":52.205585, "longitude":5.3844],
        ["title": "Esso Amstelveen, Ouderkerkerlaan 150, 1185 AG, Amstelveen", "latitude":52.297044, "longitude":4.865962],
        ["title": "Esso Amstelveen Beneluxbaan Oost, Beneluxbaan 10 Oost, 1183 ZZ, Amstelveen", "latitude":52.317709, "longitude":4.870159],
        ["title": "Esso Express Amstelveen Beneluxbaan West, Beneluxbaan 9 West, 1181 ZZ, Amstelveen", "latitude":52.317307, "longitude":4.869668],
        ["title": "Esso Vissers Amstenrade, Hommerterweg 292-2, 6436 AM, Amstenrade", "latitude":50.934569, "longitude":5.916655],
        ["title": "Esso Amsterdam J v Hasseltweg, Johan van Hasseltweg 73, 1021 KN , Amsterdam", "latitude":52.387029, "longitude":4.924821],
        ["title": "Esso Amsterdam Marnixstraat, Marnixstraat 250 , 1016 TL, Amsterdam", "latitude":52.369842, "longitude":4.877018],
        ["title": "Esso Amsterdam Meer en Vaart, Meer en Vaart 201, 1068 LA, Amsterdam", "latitude":52.35523, "longitude":4.81045],
        ["title": "Esso Amsterdam Sarphatistraat, Sarphatistraat 225, 1018 AE, Amsterdam", "latitude":52.36685, "longitude":4.92415],
        ["title": "Esso Amsterdam Pieter Caland, Pieter Calandlaan 89, 1065 KK, Amsterdam", "latitude":52.3559, "longitude":4.82452],
        ["title": "Esso Amsterdam Utrechtse Brug, Nieuwe Utrechtseweg 10, 1096 CK, Amsterdam", "latitude":52.33214, "longitude":4.91194],
        ["title": "Texaco Amsterdam Kollenbergweg, Kollenbergweg 11, 1101 AR, Amsterdam Zuidoost", "latitude":52.305681, "longitude":4.934042],
        ["title": "Esso Apeldoorn, Rijksweg A50 westzijde, 7372 BJ, Apeldoorn", "latitude":52.169628, "longitude":6.024606],
        ["title": "Firezone Apeldoorn Edisonlaan, Edisonlaan 270, 7316 JL, Apeldoorn", "latitude":52.2305509, "longitude":5.9604756],
        ["title": "Firezone Apeldoorn Laan van Zeven, Laan van Zevenhuizen 396, 7322 NW, Apeldoorn", "latitude":52.2207337, "longitude":5.9985234],
        ["title": "Esso Appingedam, Farmsumerweg 60, 9902 BT, Appingedam", "latitude":53.319883, "longitude":6.870897],
        ["title": "Esso Arnhem IJsseloordweg, IJsseloordweg 42, 6825 LE, Arnhem", "latitude":51.978645, "longitude":5.971316],
        ["title": "Esso Arnhem Overmaat, Burg. Matsersingel 30, 6831 ZA, Arnhem", "latitude":51.95184, "longitude":5.88583],
        ["title": "Esso Arnhem de Slenk, Rijksweg A50 oostzijde, 6816 VX, Arnhem", "latitude":52.1664735, "longitude":6.025448],
        ["title": "Esso Express Arnhem, Dr C Lelyweg 13, 6827 BH, Arnhem", "latitude":51.97244, "longitude":5.9348],
        ["title": "Texaco Asten, Rijksweg A67 zuidzijde, 5721 SG, Asten", "latitude":51.404306, "longitude":5.812127],
        ["title": "Esso Baarn Oost, Amsterdamsestraatweg 42a Oostzijde, 3741 GS, Baarn", "latitude":52.221659, "longitude":5.257677],
        ["title": "Esso Express Baarn West, Amsterdamsestraatweg 61 Westzijde, 3741 GS, Baarn", "latitude":52.221114, "longitude":5.257666],
        ["title": "Texaco Bakel, Benthem 3, 5761 PN, Bakel", "latitude":51.49906, "longitude":5.72809],
        ["title": "Firezone Beegden, Heerstraat Noord 60, 6099 AZ, Beegden", "latitude":50.97359, "longitude":5.76655],
        ["title": "Esso Vissers Beek en Donk, Heuvelplein 29, 5741 JH, Beek en Donk", "latitude":51.52807, "longitude":5.63457],
        ["title": "Firezone Beek, Arnhemseweg 13, 7037 CX, Beek Gem Bergh", "latitude":51.908966, "longitude":6.187974],
        ["title": "Texaco Beekbergen, Dorpsstraat 43, 7361 AR, Beekbergen", "latitude":52.1592, "longitude":5.96691],
        ["title": "Texaco Beers, Molenstraat 31-33, 5437 AA, Beers", "latitude":51.726731, "longitude":5.836205],
        ["title": "Esso Beesd, Rijksweg A2 westzijde, 4153 ZA, Beesd", "latitude":52.143648, "longitude":5.000866],
        ["title": "Firezone Belfeld, Craenenakker 4, 5951 CC, Belfeld", "latitude":51.31877, "longitude":6.12664],
        ["title": "Texaco Bellingwolde, Hoofdweg 33, 9695 AA, Bellingwolde", "latitude":53.1014, "longitude":7.14563],
        ["title": "Esso Beneden Leeuwen 1, Van Heemstraweg 35, 6658 KE, Beneden Leeuwen", "latitude":51.88036, "longitude":5.53006]
    ]
    
    // create annotation
    // [Dictionary<String, Any>] or [[String: Any]] works for argument type
    func createAnnotations(locations: [Dictionary<String, Any>]) {
        for location in locations {
            let annotations = MKPointAnnotation()
            annotations.title = location["title"] as? String
            annotations.coordinate = CLLocationCoordinate2D(latitude: location["latitude"] as! CLLocationDegrees,
                                                            longitude: location["longitude"] as! CLLocationDegrees)
            
                mapView.addAnnotation(annotations)
        }
    }
}
导入UIKit
导入地图套件
类FirstViewController:UIViewController{
@ibvar映射视图:MKMapView!
fileprivate let locationManager:CLLocationManager=CLLocationManager()
重写func viewDidLoad(){
super.viewDidLoad()
//调用annotations函数并放入annotationLocations
createAnnotations(位置:annotationLocations)
locationManager.RequestWhenUseAuthorization()
locationManager.desiredAccuracy=KCallocationAccuracyBest
locationManager.distanceFilter=KCLDistanceFilterOne
locationManager.startUpdatingLocation()
mapView.showsUserLocation=true
}
//注释位置(个)
让annotationLocations=[
[“标题”:“埃索·坎彭,欧罗巴·阿莱4,8265 VB,坎彭”,“纬度”:52.5429,“经度”:5.9193],
[“标题”:“埃索·坎蓬,安装图7-a,8263英国标准,坎蓬”,“纬度”:52.56830596923828,“经度”:5.87943267822656],
[“标题”:“埃索·艾瑟尔穆伊登,斯普罗斯特拉特10,8271右,艾瑟尔穆伊登”,“纬度”:52.55617141723633,“经度”:5.931605815887451],
[“标题”:“埃索·艾瑟尔穆伊登,昂德尔内默斯特拉特12,8271 RS,艾瑟尔穆伊登”,“纬度”:52.554344177246094,“经度”:5.939723014831543],
[“标题”:“埃索·韦斯特瓦尔,韦斯特瓦尔18321 WG,乌尔克”,“纬度”:52.6515101,“经度”:5.6190208],
[“标题”:“埃索·埃尔堡,哈文卡德28081 GP,埃尔堡”,“纬度”:52.450706,“经度”:5.8280084],
[“标题”:“埃索阿尔斯特,马斯瓦阿尔韦格1538南纬,阿尔斯特”,“纬度”:51.779178619384766,“经度”:5.141426086425781],
[“标题”:“德德里霍克火区阿尔滕7122 TL,阿尔滕”,“纬度”:51.9280956,“经度”:6.5643974],
[“标题”:“火区奥德博恩,苏德坎特15,8495公里,奥德博恩”,“纬度”:53.046293,“经度”:5.8888 4],
[“标题”:“埃索·阿尔克马尔MLK,马丁·路德·金威格511817 MK,阿尔克马尔”,“纬度”:52.64464,“经度”:4.7293343],
[“标题”:“阿尔克马尔火区-惠斯瓦尔德韦格,惠斯瓦尔德韦格21817 JS,阿尔克马尔”,“纬度”:52.6458756,“经度”:4.7382983],
[“标题”:“福威尔·阿尔克马尔,斯马拉格德韦格1812 RJ,阿尔克马尔”,“纬度”:52.609012,“经度”:4.756206],
[“标题”:“德士古阿尔克马尔,罗本孔10,1822 BB,阿尔克马尔”,“纬度”:52.6420575,“经度”:4.7821996],
[“标题”:“埃索·阿尔梅洛人力资源霍尔斯特兰,H.R.霍尔斯特兰917609 RC,阿尔梅洛”,“纬度”:52.3281816,“经度”:6.6495139],
[“标题”:“阿尔梅洛火区,伯格,拉维斯洛特辛格67607吉克,阿尔梅洛”,“纬度”:52.34979,“经度”:6.66009],
[“标题”:“埃索·阿尔梅雷,科宁贝尔特威格1139 AA,阿尔梅雷”,“纬度”:52.3751158,“经度”:5.2747946],
[“标题”:“埃索·阿尔梅雷·马尔克坎特,马尔克坎特10/011316AA,阿尔梅雷”,“纬度”:52.385953,“经度”:5.217036],
[“标题”:“埃索·阿尔梅雷·霍格林,奥迪韦格2号,阿尔梅雷大道1322号”,“纬度”:52.34921,“经度”:5.17451],
[“标题”:“埃索·阿尔芬a/d瑞恩,威廉·德兹维杰格兰37,2406高清,阿尔芬a/d瑞恩”,“纬度”:52.19819,“经度”:4.41177],
[“标题”:“埃索·阿默斯福尔特·霍格威格,霍格威格453816BM,阿默斯福尔特”,“纬度”:50.87979,“经度”:5.93174],
[“标题”:“埃索·阿默斯福尔特·尼尔迪斯特,里杰克斯威格A1诺兹伊德,公元3821年,阿默斯福尔特”,“纬度”:52.205585,“经度”:5.3844],
[“标题”:“埃索·阿姆斯特尔文,乌德克尔凯兰1501185 AG,阿姆斯特尔文”,“纬度”:52.297044,“经度”:4.865962],
[“标题”:“埃索·阿姆斯特尔文·贝内卢克斯班奥斯特,贝内卢克斯班10奥斯特,1183 ZZ,阿姆斯特尔文”,“纬度”:52.317709,“经度”:4.870159],
[“标题”:“埃索快递阿姆斯特尔文-贝内卢克斯班西部,贝内卢克斯班9西部,1181 ZZ,阿姆斯特尔文”,“纬度”:52.317307,“经度”:4.869668],
[“标题”:“埃索·维瑟斯·阿姆斯特拉德,霍默特韦格,上午292-26436,阿姆斯特拉德”,“纬度”:50.934569,“经度”:5.916655],
[“标题”:“埃索阿姆斯特丹J诉哈塞尔特韦格,约翰·凡·哈塞尔特韦格731021千牛,阿姆斯特丹”,“纬度”:52.387029,“经度”:4.924821],
[“标题”:“埃索阿姆斯特丹Marnixstraat,Marnixstraat 2501016TL,阿姆斯特丹”,“纬度”:52.369842,“经度”:4.877018],
[“标题”:“埃索阿姆斯特丹米尔瓦特,米尔瓦特2011068洛杉矶,阿姆斯特丹”,“纬度”:52.35523,“经度”:4.81045],
[“标题”:“埃索阿姆斯特丹萨法提斯特拉特,萨法提斯特拉特225,1018 AE,阿姆斯特丹”,“纬度”:52.36685,“经度”:4.92415],
[“标题”:“埃索阿姆斯特丹彼特卡兰,彼特卡兰兰891065KK,阿姆斯特丹”,“纬度”:52.3559,“经度”:4.82452],
[“标题”:“埃索阿姆斯特丹乌得勒支布鲁格,纽韦乌得勒支韦格1096 CK,阿姆斯特丹”,“纬度”:52.33214,“经度”:4.91194],
[“标题”:“德士古阿姆斯特丹Kollenbergweg,Kollenbergweg 11,1101 AR,阿姆斯特丹Zuidoost”,“纬度”:52.305681,“经度”:4.934042],
[“标题”:“埃索·阿佩尔多恩,里克斯威格A50 westzijde,7372 BJ,阿佩尔多恩”,“纬度”:52.169628,“经度”:6.024606],
[“标题”:“火区阿佩尔多恩-埃迪森兰,埃迪森兰270,7316 JL,阿佩尔多恩”,“纬度”:52.2305509,“经度”:5.9604756],
[“标题”:“火区阿佩尔多恩-兰-凡-泽文,兰-凡-泽文胡赞3967322西北,阿佩尔多恩”,“纬度”:52.2207337,“经度”:5.9985234],
[“标题”:“埃索·阿平格丹,Farmsumerweg 609902英国电信,阿平格丹”,“纬度”:53.319883,“经度”:6.870897],
[“标题”:“埃索阿纳姆艾瑟鲁德韦格,艾瑟鲁德韦格426825勒阿纳姆”,“纬度”:51.9786