2016-03-16 35 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