0

I am trying to use NSDictionary in Swift and I am facing the above-mentioned problem. I have a dictionary of the following format:

let xyz: NSMutableDictionary = ["1":[1,2,3,4,"1","n","1","2"],"2":[1,2,3,4,"+","o","6","2"]]

I want to iterate over keys in the dictionary and extract the 6th element of the array. I tried the following; but did not meet with any luck:

for keys in dictKeyMutableDict {
    let xCentVal = xyz[keys as! [NSCopying]][6]
}

I keep on receiving a subscript error and if I remove as! [NSCopying], I receive the above error. Does anyone know how to deal with such case?

quornian
  • 9,495
  • 6
  • 30
  • 27
Nasiba
  • 321
  • 2
  • 15

1 Answers1

0

Remove NSMutableDictionary and make it mutable by make it a var. Now you can remove the as! [NSCopying]

var xyz = ["1":[1,2,3,4,"1","n","1","2"],"2":[1,2,3,4,"+","o","6","2"]]

for keys in dictKeyMutableDict {
    let xCentVal = xyz[keys]![6]
}

Or better optional unwrap it:

for keys in dictKeyMutableDict {
    if let v = xyz[keys] {
        let xCentVal = v[6]
    }
}
Stijn van der Laan
  • 466
  • 1
  • 4
  • 10
  • I need to use NSMutableDictionary since I will be passing it to Objective C to read it. It apparently can read NSDictionary only. – Nasiba Apr 12 '16 at 22:17