gpt4 book ai didi

ios - iOS9 swift 显示超过 200 个注释引脚的最佳方式

转载 作者:行者123 更新时间:2023-11-30 13:30:28 26 4
gpt4 key购买 nike

我的应用程序中有一个 map View ,应显示 200 多个注释图钉。到目前为止,我已经添加了不到 100 个引脚,这让我感到好奇。难道没有更聪明的方式来展示它们吗?目前代码确实很长,而且我担心它还会更长。您可以在下面看到我如何添加引脚(仅以一个引脚为例)。我怎样才能以更聪明的方式做到这一点?

let first = Artwork(title: "First annotation",
locationName: "Tryk for rute",
discipline: "Butik",
coordinate: CLLocationCoordinate2D(latitude: 55.931326, longitude: 12.284186))

map.addAnnotation(first)

这些代码片段是为大约 100 个注释引脚编写的 - 一定有更好的方法!

希望您能帮助我,谢谢!

最佳答案

我在这里假设您的注释数据没有存储在数组的对象中,并且您有 100 个示例代码的副本。

如果信息是静态的,您可以将该信息包含在属性列表 (plist) 中。

你的plist可能看起来像这样:

<dict>
<key>Locations</key>
<array>
<dict>
<key>Title</key>
<string>First annotation</string>
... more information here
</dict>
<dict>
<key>Title</key>
<string>Second annotation</string>
... more information here
</dict>
</array>
</dict>
</plist>

然后您可以加载 plist 并迭代位置数组以将注释添加到 map 中。像这样的事情:

func addAnnotations()
{
// load your plist
if let path = NSBundle.mainBundle().pathForResource("StaticInformation", ofType: "plist") {
if let dict = NSDictionary(contentsOfFile: path) as? Dictionary<String, AnyObject> {
// get your static locations information as an array
if let locations = dict["Locations"] as? Array<Dictionary<String, AnyObject>> {
// iterate your locations
for (index, location) in locations.enumerate() {

let title = location["Title"] as? String
// obtain the information needed from the location dict

// create your annotation
let first = Artwork(title: title,
locationName: ...,
discipline: ...,
coordinate: ...)

map.addAnnotation(first)
}
}
}
}
}

抱歉,该代码未经测试。但希望您能明白。

关于ios - iOS9 swift 显示超过 200 个注释引脚的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36616572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com