ios - Type '(String, AnyObject)' has no subscript members in swift -


i using line data

 let productdict  = arrproductcart[sender.tag] as! [string: anyobject] 

and want filter data dictionary using code

let filteredsubitems = productdict.filter{         $0["groupid"] as!string != "1"     } 

it giving me error type '(string, anyobject)' has no subscript members

do need convert [string: anyobject] [string: string]? do.

most want filter arrproductcard array instead of productdict, doesn't make sense. try this:

let filteredproducts = arrproductcard.filter{     guard let groupid = $0["groupid"] as? string else { return false }     return groupid != "1" } 

you should avoid forced unwrapping whenever can. note code inside filter closure crash if there no groupid value in dictionary or if not string.

edit:

if you're using nsmutablearray reason, can filter predicate:

let mutablearray = nsmutablearray(array: [["groupid": "1"], ["groupid": "2"]])     let groupidpredicate = nspredicate(format: "groupid != %@", "1") mutablearray.filter(using: groupidpredicate) 

however, recommend use swift native collections.


Comments

Popular posts from this blog

asynchronous - C# WinSCP .NET assembly: How to upload multiple files asynchronously -

aws api gateway - SerializationException in posting new Records via Dynamodb Proxy Service in API -

asp.net - Problems sending emails from forum -