2014-09-25 56 views
0

嘿,我目前正在開發一個小應用程序,但是我的內存使用率卻很高。 的應用得到了約200個地圖標註,這些被添加像Swift - 映射註解的更好方法

//Number: 1 Airport: Lukla - Mount Everest 
    let location1:CLLocationCoordinate2D = CLLocationCoordinate2DMake(AirportLat[1], AirportLong[1]) 
    let info1 = CustomPointAnnotation() 
    info1.coordinate = location1 
    info1.title = AirportTitle[1] 
    info1.imageName = AirportimageName[1] 
    Map.addAnnotation(info1) 

    //Number: 2 Airport: Helgoland 
    let location2:CLLocationCoordinate2D = CLLocationCoordinate2DMake(AirportLat[2], AirportLong[2]) 
    let info2 = CustomPointAnnotation() 
    info2.coordinate = location2 
    info2.title = AirportTitle[2] 
    info2.imageName = AirportimageName[2] 
    Map.addAnnotation(info2) 

    //Number: 3 Airport: Aspen 
    let location3:CLLocationCoordinate2D = CLLocationCoordinate2DMake(AirportLat[3], AirportLong[3]) 
    let info3 = CustomPointAnnotation() 
    info3.coordinate = location3 
    info3.title = AirportTitle[3] 
    info3.imageName = AirportimageName[3] 
    Map.addAnnotation(info3) 

從我,所以我得到了一些陣列,但通過它創建每個註釋自己的(但所有的「陣列算了算一個接一個」)我肯定有一個更好的方法來做到這一點,任何人都可以給我一些tipps如何減少這種情況,也許爲此使用for/while? :(我沒有得到陣列的任何工作

回答

1

一一列舉,然後創建批註的數組。然後,您可以一次添加所有註釋地圖視圖。

var allAnnotations = [CustomPointAnnotation]() 
for (index, value) in enumerate(AirportLat){ 
    let annotation = CustomPointAnnotation() 
    annotation.coordinate = CLLocationCoordinate2DMake(AirportLat[index], AirportLong[index]) 
    annotation.title = AirportTitle[index] 
    annotation.imageName = AirportimageName[index] 
    allAnnotations += [annotation] 
} 

Map.addAnnotations(allAnnotations) 
+0

感謝@insane -36 :)該死的容易:) ima idiot :) – 2014-09-25 09:00:23