Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift返回带有CloudKit数据的函数_Ios_Arrays_Swift_Function_Cloudkit - Fatal编程技术网

Ios Swift返回带有CloudKit数据的函数

Ios Swift返回带有CloudKit数据的函数,ios,arrays,swift,function,cloudkit,Ios,Arrays,Swift,Function,Cloudkit,我有一个CloudKit数据库,其中包含这种格式的记录 标题:字符串 字幕:字符串 地点:地点 我正在使用一个样例Swift项目,该项目将注释放置在地图上。项目将注释数据存储在一组函数中,这些函数只是在类文件中手动键入的。这是该文件中的代码 class POIService { static let sharedInstance = POIService() lazy var pointsOfInterest: Array<POI> = { return [

我有一个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
            )
        )
    ]
}()}
类PoiseService{
静态let sharedInstance=PoiseService()
惰性变量pointsOfInterest:数组={
返回[
POI(
标题:“第一个有趣的地方。”,
字幕:“这个地方太棒了”,
坐标:CLLocationCoordinate2D(
纬度:49.8519574378154,
经度:-97.2117918551222
)
),
POI(
标题:“第五个有趣的地方。”,
副标题:“我不知道我在哪里……”,
坐标:CLLocationCoordinate2D(
纬度:49.8141108489216,
经度:-97.12989909147
)
)
]
}()}
我希望能够使用CloudKit数据以编程方式返回函数数组,而不是使用这些数据来创建注释。 我可以毫无问题地获取数据,但由于对编程有点陌生,我无法真正理解如何返回函数数组。我曾试图创建一个返回另一个函数的函数,以便能够创建数组,但最终我迷失了方向

这里有一个链接到github上的项目(我不是作者)。。。

我只是尝试从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


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

不确定我是否理解代码。我只是想创建一个函数数组,里面填充了我的cloudKit数据。我想我必须做一个for循环来创建带有CK数据的函数。你能在你的问题中更具体一些吗,例如使用伪代码。这确实意味着“函数数组”“要在地图视图上设置注释,我需要一组注释。数组中的每个项都是返回注释数据的函数。该函数类似于
注释(title:string,subtitle:string,coordinate:location)
,因此我需要能够返回这些函数的数组以在地图上显示所有注释。至少这是我认为我需要的。正如我所说的,我不确定,因为我没有很长时间使用代码。我试图将我的CloudKit代码粘贴到中,但它不适合评论部分。同样值得注意的是,我很可能完全错误地认为正在发生的事情。在我看来,它就像一系列函数,但可能不是。正如我所说的,这完全是我无法理解的。很抱歉