【发布时间】:2015-02-11 18:50:33
【问题描述】:
感谢大家的帮助,我有一本带有字典数组的字典。 我的目标是从一个内部字典值中整理出一个从 plist 文件中读取的数组。这些值是字符串类型,并返回一个具有重复值的数组。这个返回的数组总共有 30 个值(元素),可以分为 6 个值。我需要以某种方式从这 6 个值中创建一个数组,以便可以在我的 tableView 数据源 numberOfSectionsInTableView 上使用它:
我查看了 map() 和 filter() ,但没有找到任何解决方案。我的代码是;
// setupLoading called from viewDidLoad()
func setupLoading() {
let path = NSBundle.mainBundle
let bundlePath = path.pathForResource("KempfRef", ofType: "plist")
let dict: NSDictionary? = NSDictionary(contentsOfFile: bundlePath!)
let plistArray: NSArray = dict!["KempfRef"] as NSArray
for innerDict in plistArray as Array {
let kempf: KempfFiber = KempfFiber() // Model
kempf.name = innerDict["Name"] as String
kempf.detail = innerDict["Detail"] as String
kempf.imageName = innerDict["ImageName"] as String
kempf.specGrav = innerDict["SpecGrav"] as String
kempf.toughness = innerDict["Toughness"] as String
kempf.pdfFile = innerDict["PDF"] as String
//println("DESCRIPTION: \(kempf.description())")
var theType = innerDict["Type"] as String
var kempfTypes = [String](arrayLiteral: theType)
println("theType")
}
// 这里是 theType 的 println 类型是:
BERKempf
BERKempf
BERKempf
BERKempf
CHRYBERKempf
CHRYBERKempf
CHRYBERKempf
CORUNKempf
CORUNKempf
CORUNKempf
CORUNKempf
GARNKempf
GARNKempf
GARNKempf
GARNKempf
GARNKempf
GARNKempf
GARNKempf
OTHERKempf
OTHERKempf
OTHERKempf
OTHERKempf
OTHERKempf
OTHERKempf
OTHERKempf
SPINEKempf
SPINEKempf
SPINEKempf
SPINEKempf
谢谢大家
【问题讨论】:
-
你没有对你创建的
kempfvsriable 做任何事情。您想为您的部分使用哪个字段? -
@Paulw11,谢谢。我正在尝试利用“类型”键返回的值。然后我创建了我想用于我的部分的 var kempfTypes 数组。我知道我没有在这里展示任何东西,因为我无法从我尝试过的东西中得到任何东西。您能否就我应该做什么或可能使用的功能提出建议?
-
我将创建另一个字典,其中包含一个字符串键(这将是您的类型)和一个
KempfFiber数组作为值。然后当你得到一个类型时,你从字典中检索数组。如果它是 nil 则创建一个新数组,将kempf对象添加到其中,否则只需将kempf对象添加到现有数组中。然后,您可以将键作为您的部分的数组。
标签: ios iphone arrays swift dictionary