Swift中的字典值

时间:2015-05-05 17:26:41

标签: swift dictionary

我正在尝试访问我在Swift词典中设置的值。字典的键和值有String。我的意图是在我处理一系列URL时使用字典来设置字符串变量。在Objective-C中,我理解这是如何工作的。我有一个名为currentFeed的字符串属性,我将字典的值传递给。

self.currentFeed = [NSString stringWithString: [self.URLDictionary objectForKey: @"FLO Cycling"]];

在斯威夫特,我遇到了困难。我尝试了以下代码并收到错误消息。

self.currentFeed = self.URLDictionary["FLO Cycling"]

Error Message: "Cannot subscript a value of type '[String:String]' with an index of type 'String'.

作为参考,字典是以下列方式在Swift中创建的。常量是用let创建的。

let kFLOCyclingURL = "http://flocycling.blogspot.com/feeds/posts/default?alt=rss"
let kTriathleteURL = "http://triathlon.competitor.com/feed"
let kVeloNewsURL = "http://velonews.competitor.com/feed"
let kCyclingNewsURL = "http://feeds.feedburner.com/cyclingnews/news?format=xml"
let kRoadBikeActionURL = "http://www.roadbikeaction.com/news/rss.aspx"
let kIronmanURL = "http://feeds.ironman.com/ironman/topstories"

使用键将项目添加到字典中。

let URLTempDictionary = ["FLO Cycling" : kFLOCyclingURL, "Triathlete" : kTriathleteURL, "Velo News" : kVeloNewsURL, "Cycling News" : kCyclingNewsURL, "Road Bike Action" : kRoadBikeActionURL, "Ironman" : kIronmanURL]

感谢您的帮助。

小心,

乔恩

1 个答案:

答案 0 :(得分:1)

这对我来说很好。我唯一注意到的是你的字典名为URLTempDictionary,你正在访问URLDictionary。 :)

选项a(最安全,最强大)

if let dict = self.URLDictionary
{
    self.currentFeed = dict["FLO Cycling"]
}

选项b(谨慎使用,可能的运行时错误)

self.currentFeed = dict!["FLO Cycling"]