2016-03-16 34 views
0

我有一個包含這種格式記錄的CloudKit數據庫的功能...斯威夫特返回與CloudKit數據

  • 標題:字符串
  • 字幕:字符串
  • 位置:位置

我正在使用一個將Annotations放置在地圖上的示例Swift項目。該項目將Annotation數據存儲在一個剛剛在類文件中手動輸入的函數數組中。下面是從文件中的代碼...

class POIService { 
static let sharedInstance = POIService() 

lazy var pointsOfInterest: Array<POI> = { 
    return [ 
     POI(
      title: "First interesting place.", 
      subtitle: "This place is great", 
      coordinate: CLLocationCoordinate2D(
       latitude: 49.8519574378154, 
       longitude: -97.2117918551222 
      ) 
     ), 
     POI(
      title: "Fifth interesting place.", 
      subtitle: "I don't know where I am...", 
      coordinate: CLLocationCoordinate2D(
       latitude: 49.8141108489216, 
       longitude: -97.1298990909147 
      ) 
     ) 
    ] 
}()} 

相反,使用這種數據來創建註釋,我希望能夠返回的編程方式使用我的CloudKit數據功能的陣列。 我可以沒有任何問題地獲取數據,但是對編程有點新穎,我無法真正包裹我的頭部以便返回該函數的數組。我試圖創建一個返回另一個函數的函數,以便能夠創建數組,但最終我迷了路。

這裏是一個在github項目(我不是作者)的鏈接... https://github.com/Winnipeg-iOS-Developers/InterestingPoint

我只是想從我CloudKit數據庫在地圖上返回點,而不是使用其樣本數據。

任何幫助將不勝感激。我真的很想從這個項目中學習,但是這讓我完全陷入困境。

謝謝

+0

另外值得一提的,我很可能是完全錯誤的什麼我思想正在發生。它看起來像一系列功能,但它可能不是。正如我所說,這是我頭上的一切。抱歉。 – ALTVisual

回答

0

我不知道如果我找到你。你的意思是這樣

func someFunc(a:String, b:Bool)->String { 
    return "Test" 
} 
var arrayOfFunctions : [(String, Bool)->String] = [ 
    {(param1 : String, param2: Bool) -> String in 
     "Hello" 
    }, 
    {(param1 : String, param2: Bool) -> String in 
     "Bye" 
    }, 
    someFunc 
] 

一個函數類型的語法是(param1:Type1,...,paramN:TypeN)->ReturnType

僅僅是關閉該成員或引用功能

+0

不確定我是否理解代碼。我只是試圖創建一個函數的數組,這是填充我的cloudKit數據。我假設我將不得不做一個for循環創建與CK數據的函數? – ALTVisual

+0

你可以更具體的在你的問題,例如使用僞代碼,這確實意味着「數組函數」 –

+0

要在地圖視圖上設置註釋,我需要一個註釋數組,數組中的每個項都是一個返回註釋數據的函數。像這個'註解(標題:字符串,字幕:字符串,座標:位置)'所以我需要能夠返回這些函數的數組來顯示地圖上的所有註釋。至少這就是我認爲我需要的。說,我不知道,因爲我沒有用過很長時間的代碼。 – ALTVisual