从字典的 NSMutableArray 获取字典
Get dictionary from NSMutableArray of dictionary
我正在尝试从 NSMutableArray
中获取 NSMutableDictionary
。
我这样设置数组:
let test : NSMutableDictionary = NSMutableDictionary()
test.setValue("Monday", forKey: "day")
test.setValue("7PM - 8PM", forKey: "hour")
self.availabilityArray.add(test)
let test1 : NSMutableDictionary = NSMutableDictionary()
test1.setValue("Saturday", forKey: "day")
test1.setValue("8PM - 10PM", forKey: "hour")
self.availabilityArray.add(test1)
let test2 : NSMutableDictionary = NSMutableDictionary()
test2.setValue("Sunday", forKey: "day")
test2.setValue("2PM - 8PM", forKey: "hour")
self.availabilityArray.add(test2)
并且在另一种方法中,我尝试获取 "day" 和 "hour" 值以将它们设置为 UILabel
。
我已经试过了:
let dico = self.availabilityArray[i] //i being the index of a loop, not important here
self.dayNameLabel.text = (dico as AnyObject).object(forKey:"day") // This line does not work, I want to do something like that.
那么我怎样才能得到我的 NSMutableArray
的内容作为 NSDictionary
的精确索引?
谢谢。
感谢 Larme 我找到了解决方案,我只是替换
self.dayNameLabel.text = (dico as AnyObject).object(forKey:"day")
有
self.dayNameLabel.text = (dico as! NSMutableDictionary).object(forKey:"day") as! String?
您应该使用 swift 2(或 3)个对象。
像这样声明你的数组:
var availabilityArray: [[String: String]] = []
然后创建你的字典:
var test: [String: String] = [:]
test["day"] = "Monday"
test["hour"] = "7PM - 8PM"
var test1: [String: String] = [:]
test1["day"] = "Saturday"
test1["hour"] = "8PM - 10PM"
var test2: [String: String] = [:]
test2["day"] = "Sunday"
test2["hour"] = "2PM - 8PM"
将它们添加到数组中:
self.availabilityArray.append(test)
self.availabilityArray.append(test1)
self.availabilityArray.append(test2)
并最终访问对象:
let dico = self.availabilityArray[0]
self.dayNameLabel.text = dico["day"]
dico["day"] 是可选的,所以使用 dico["day"]!
或使用 if let
的真正解包
我正在尝试从 NSMutableArray
中获取 NSMutableDictionary
。
我这样设置数组:
let test : NSMutableDictionary = NSMutableDictionary()
test.setValue("Monday", forKey: "day")
test.setValue("7PM - 8PM", forKey: "hour")
self.availabilityArray.add(test)
let test1 : NSMutableDictionary = NSMutableDictionary()
test1.setValue("Saturday", forKey: "day")
test1.setValue("8PM - 10PM", forKey: "hour")
self.availabilityArray.add(test1)
let test2 : NSMutableDictionary = NSMutableDictionary()
test2.setValue("Sunday", forKey: "day")
test2.setValue("2PM - 8PM", forKey: "hour")
self.availabilityArray.add(test2)
并且在另一种方法中,我尝试获取 "day" 和 "hour" 值以将它们设置为 UILabel
。
我已经试过了:
let dico = self.availabilityArray[i] //i being the index of a loop, not important here
self.dayNameLabel.text = (dico as AnyObject).object(forKey:"day") // This line does not work, I want to do something like that.
那么我怎样才能得到我的 NSMutableArray
的内容作为 NSDictionary
的精确索引?
谢谢。
感谢 Larme 我找到了解决方案,我只是替换
self.dayNameLabel.text = (dico as AnyObject).object(forKey:"day")
有
self.dayNameLabel.text = (dico as! NSMutableDictionary).object(forKey:"day") as! String?
您应该使用 swift 2(或 3)个对象。
像这样声明你的数组:
var availabilityArray: [[String: String]] = []
然后创建你的字典:
var test: [String: String] = [:]
test["day"] = "Monday"
test["hour"] = "7PM - 8PM"
var test1: [String: String] = [:]
test1["day"] = "Saturday"
test1["hour"] = "8PM - 10PM"
var test2: [String: String] = [:]
test2["day"] = "Sunday"
test2["hour"] = "2PM - 8PM"
将它们添加到数组中:
self.availabilityArray.append(test)
self.availabilityArray.append(test1)
self.availabilityArray.append(test2)
并最终访问对象:
let dico = self.availabilityArray[0]
self.dayNameLabel.text = dico["day"]
dico["day"] 是可选的,所以使用 dico["day"]!
或使用 if let