ios - Swift 返回带有 CloudKit 数据的函数

标签 ios arrays swift function cloudkit

我有一个 CloudKit 数据库,其中包含这种格式的记录...

  • 标题:字符串
  • 副标题:字符串
  • 地点:地点

我正在使用一个示例 Swift 项目,该项目将注释放在 map 上。该项目将注释数据存储在只需在类文件中手动键入的函数数组中。这是该文件中的代码...

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 数据库返回 map 上的点,而不是使用它们的示例数据。

任何帮助将不胜感激。我真的想从这个项目中尽可能多地学习,但这让我完全陷入困境。

谢谢

最佳答案

我不确定我是否明白你的意思。你的意思是这样的

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

成员只是闭包或对函数的引用

关于ios - Swift 返回带有 CloudKit 数据的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36026915/

相关文章:

ios - Xcode 5 中 libzbar.a 的链接器错误

ios - 为什么我调用这个方法然后当前VC自动回到rootVC

ios - UICollectionView 查询

循环内的 C 代码未被执行

ios - 如何使用 Stripe 和 Swift 获取卡片品牌

ios - 选择单元格时仅更改拇指背景颜色

ios - 使用照片框架从图库上传视频

c - 如何将第一个数组的值复制到另一个数组?

javascript - 使用 golang 在具有多个条件的 mongo 查询中发出问题

swift - 如何创建一个快速的通用可变参数函数?