Swift 返回一个包含 CloudKit 数据的函数



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

  • 标题:字符串
  • 字幕:字符串
  • 位置
  • :位置

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

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

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

谢谢

我不确定我是否得到你。 你的意思是像

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

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

最新更新