У меня есть словарь:Удалить AnyObject из словаря Swift
var dict:[NSObject:[AnyObject]]
Я хочу, чтобы удалить объект из словаря по значению.
func removeObject(anObject:AnyObject) {
for key in dict.keys {
dict[key] = dict[key]!.filter({$0 == anObject})
}
}
, но я получаю эту ошибку:
Binary operator '==' cannot be applied to two 'AnyObject' operands
Какой самый лучший способ, чтобы удалить этот объект? Я хочу сохранить его как можно более общим.
ли они ссылочно эквивалентны? Если это так, используйте '==='. –
Вы не можете сравнить 'AnyObject', потому что, возможно, первым объектом является' Circle', а второй объект 'Giraffe', как вы можете их сравнить? если вы перетасовываете и только затем cmpare –
В зависимости от того, что вы пытаетесь выполнить, одним из вариантов является использование NSObject: http://stackoverflow.com/questions/34835359/compare-two-nsobject-in-swift?rq = 1 – PeejWeej